Commit graph

336 commits

Author SHA1 Message Date
Guillermo Vayá
6a060cd505
[MM-62565] DB only custom profile attributes and fields (#8739)
Database only
2025-04-09 15:35:27 +02:00
Harshil Sharma
738c7e6b1d
Channel banner display (#8735)
* channel banner DB migration

* Display channel banner

* Updated database docs

* used premium sku

* misc fixes

* Handled channel banner with calls

* Updated tests

* Updated tests

* test: Add comprehensive tests for shouldShowChannelBanner function

* Added more tests

* lint fix

* minor refactoring

* lint fix

* reverted package.resolved changes

* made a param mandatory

* Added some comments
2025-04-08 11:15:18 +05:30
Elias Nahum
374f812b98
Update dependencies (#8721)
* update fastlane

* update dev dependencies

* update to eslint 9+

* update testing-library

* update react-intl

* update bottom-sheet

* update expo

* update reanimated

* upgrade msgpack

* upgrade datepicker

* upgrade react-navigation

* update sentry

* update FlasList

* update fuse.js moment-timezone node-html-parser and semver

* update gesture-handler

* update image-picker

* update react-native-keychain

* update react-native-localize

* update react-native-navigation

* update watermelonDB

* update react-native-permissions

* update react-native-safe-area-context and react-native-screens

* update react-native-share and react-native-svg

* update react-native-video and react-native-webrtc

* update @mattermost/rnutils

* update @mattermost/rnshare

* update @mattermost/hardware-keyboard

* fix isMainActivity

* update android dependencies

* fix upload file progress indicator

* fix entry update config & license

* revert to stable version of @sentry/react-native

* update react-intl again

* update moment-timezone

* upgrade @react-native-camera-roll/camera-roll

* update @react-native-clipboard/clipboard

* update @react-navigation again

* update @shopify/flash-list

* update eslint

* update expo again

* update html-entities

* update mime-db

* update react-native-permissions

* Revert "update react-intl again"

This reverts commit e8e6d5a60dfa56b82b810cbbd7cdffec7697ffc7.

* Revert "update react-intl"

This reverts commit c77f329bb38910aeeba03869b72d77a8b0e00ba1.

* update react-native-keychain

* update and patch react-intl

* mend

* feedback during review 1
2025-04-07 09:30:06 +08:00
Daniel Espino García
fefa164a06
Unify Is Read Only logic to avoid code repetition and improve redability (#8720) 2025-04-06 17:50:19 +02:00
Daniel Espino García
85e01a7fb6
Add model mocks to TestHelper (#8715)
* Add model mocks to TestHelper

* Address feedback
2025-03-28 09:40:08 +01:00
Daniel Espino García
94eae2b93d
Better handle threads sync (#8641)
* Better handle threads sync

* Update app/actions/remote/thread.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-03-19 09:23:22 +01:00
Daniel Espino García
782b1c69a8
Make attachments and app bindings more robust yet secure (#8570)
* Make attachments and app bindings more robust yet secure

* Fix tests

* i18n extract

* Address feedback

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2025-03-14 12:02:32 +01:00
Elias Nahum
0c24a646d4
Improve emoji picker performance introducing flashList (#8650) 2025-03-11 22:09:46 +08:00
Daniel Espino García
802a67c4f2
Enforce names for singleton imports (#8639) 2025-02-27 12:46:17 +01:00
Guillermo Vayá
63bba67eaf
[MM-62666] Cpa sort order (#8618)
* refactor: Use fetchCustomAttributes for user profile custom attributes

feat: Add optional filter for empty custom attributes

simplify and fix types

add again the request time, take into account errors

test: Update fetchCustomAttributes tests for filterEmpty parameter

feat: Add sort_order to CustomAttribute in fetchCustomAttributes

feat: Add optional sort_order to CustomAttribute type

fix: Add type definition for sort_order in CustomProfileField attrs

feat: Add sorting function for custom profile attributes

docs: Add JSDoc comment explaining sortCustomProfileAttributes function

refactor: Improve sortCustomProfileAttributes with nullish coalescing and localeCompare

add order to custom profile attributes

* remove blank line

* add ordering to edit_profile screen

* keep types together

* address code review
2025-02-25 10:54:38 +01:00
Lucas Reis
8e854a8bdd
Implementing the Audio Playback/Download on the chat (#7900)
* feat: added new check for isAudio and added the supported mime types

* feat: adding the progress and audio on the audio file message

* feat: finishing the layout of the audio_file

* feat: play and pause audio

* feat: update the progress bar when audio is playing

* feat: update the timeframe of the audio

* feat: update with the new design

* feat: adding download and preview

* feat: creates a hook for the file download and preview

* feat: adding useCallback to make the return stable

* fix: iOS issue when playing in loop

* feat: adding localization for the error

* fix: removing code tha was inserted for debug

* feat: add a new line on the en.json

* fix: fixing types

* feat: adding the onSeek method inside the progress bar

* feat: changing progress value to animated value

* feat: changing to GestureDetector and making the seek method work

* feat: adding a touchable without feedback to prevent the audio to triggering other page

* feat: adding the drag on the seek method

* feat: making the download button more gray

* fix: fix tests

* fix: prevent onProgress from clearing the seconds when the audio is paused

* feat: clamping the position of the cursor to never be dragged offscreen

* feat: enhancing the experience of dragging the cursor on the progress bar

* feat: differentiate between the throttles

* feat: remvoing the aac audio files support

* feat: pausing if the focus has changed

* feat: render differently the audio file when in the files list

* refactor: optimize audio file component by using useCallback for event handlers

* refactor: extract stopPropagation function for better readability in AudioFile component

* feat: implement custom useThrottled hook and replace lodash throttle in AudioFile component

* refactor: update useThrottled hook to accept a generic callback type

* fix: loading of uri of audio files after merge

* feat: add audioFile style to enhance layout for audio files

* fix: tests
2025-02-19 11:17:30 +01:00
Guillermo Vayá
8782f4e3a4
[MM-62777] Fix errors being nested. Make MFA code more resilient to this situation (#8531)
* Fix errors being nested. Make code more resilient to this situation

* address review comments

* code review comment
2025-01-31 08:31:15 +02:00
Elias Nahum
0364a9d197
Fix broken windows (#8406)
* MM-62043 fix image dimensions when iPad screen size changes

* MM-61951 fix share feedback screen layout

* MM-62100 fix download video on playback error
2025-01-28 09:58:48 +08: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
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
Daniel Espino García
4b068889e7
Add some improvements to thread handling (#8407)
* Add some improvements to thread handling

* Add missing changes

* Android changes

* iOS changes

* Avoid copys

* Refactor getReplyAt
2025-01-16 11:48:28 +01:00
Joram Wilander
263dddd22a
MM-59585 Add tests for utils/url (#8462)
* Add tests for utils/url

* Update per review feedback
2025-01-13 19:55:44 -05:00
Rajat Dabade
84eded1bde
Mobile drafts (#8280)
* refactor: started with draft, done until new tabs for draft

* refactor: change the query and added the screen for draft

* added condition for fetching draft for channel delete or not

* refactor: added draft screen

* linter fixes

* Added draft post component

* added avatar and header display name for the draft post list

* added channel info component

* channel info completed

* proper naming

* added image file markdown acknowledgement support

* draft actions

* Fix the draft receiver in drafts

* separated send message handler

* Done with send drafts

* done with delete drafts

* change save to send draft

* handle lengthy message with show more button

* done with persistent message edit, send and delete drafts

* added alert for sending message

* added update at time for the drafts

* en.json extract fix

* Updated dependencies for useCallback

* refactor: added drafts list to animated list

* added swipeable component and delete conformation for drafts

* done with rendering of images in markdown for drafts

* en.json issue fixed

* fix en.json issue

* refactor: en.json fix

* addressed review comments

* updated image metadata handling code

* linter fixes

* added the empty draft screen

* linter fix

* style fix

* back button an android takes to the channel list page

* en.json fix

* draft actions theme compatible

* CSS fix for draft channel_info and avatar component

* removed the badge icon and change font style drafts

* fix send alert sender name for GMs

* updated snapshot

* added testId to the drafts components

* updated send draft test id

* clicking on draft takes to the channel

* Added toptip for draft tours

* intl extract

* Rebase to main and reverted local testing changes

* Added tooltip for drafts

* addressed review comments

* reset navigation when click on a draft in draft tabs

* fix the theme issue and navigation issue

* reverted back the draft click navigation changes

* observing draft when hitting back button

* removed the unwanted animiation

* updated regex for parsing markdown

* removed unnecessary checks and change folder name

* removed react memo and merge unwanted observes function

* removed unnecessary comments

* changed the name for observing and querying draft function

* removed memo from component level

* Text to FormattedText component

* Text to formatted text, change image name

* added confirmation modal for deleting draft from bottomsheet

* using common send_handler for both draft and post

* removed magic number for tooltip and bottomsheet

* renamed channel_info to draft_post_header

* text to formattedText for Edit drafts

* removed unnecessary changes

* minor fixes

* mounting draft only when there is draft

* map to reduce

* renamed SwipeableDraft to DraftSwipeAction

* name fixes

* isValidUrl to isParsableUrl and added test

* added test and addressed minor review comments

* added inline component for the duplicate code

* inlt fixes

* clearDraft is not optional

* optimised categories_list.tsx component

* Swipeable to ReanimatedSwipeable, TouchableWithoutFeedback to Pressable and folder name changes

* Added comment and disabled eslint rule for showing warning

* fixed component file name

* minor'

* Removed deprecated Animated createAnimatedComponent flatlist

* added test for missing protocol check

* import change for SwipeableMethod

* active tab for tablet view

* Updated the drafts icons

* Updated compass-icon version to v0.1.48

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2025-01-13 18:40:03 +05:30
Joram Wilander
e15e7d3a57
Add tests for utils/user (#8453) 2025-01-08 15:30:48 -05:00
Joram Wilander
86727fec71
MM-59583 Add tests for utils/theme (#8455)
* Add tests for utils/theme

* Imprve some test names

* Combine all tests for getKeyboardAppearanceFromTheme under one describe
2025-01-08 11:59:52 -05:00
Joram Wilander
1bb024e202
Add tests for utils/server (#8456) 2025-01-08 09:41:02 -05:00
Joram Wilander
2307985539
MM-59600 Add unit tests to utils/opengraph (#8444)
* Add unit tests to utils/opengraph

* exporting only for tests

---------

Co-authored-by: Rahim Rahman <rahim.rahman@mattermost.com>
2025-01-06 15:30:48 -05:00
Joram Wilander
72ccd763e6
MM-62394 Add unit tests to utils/message_attachment (#8443)
* Add unit tests to utils/message_attachment

* keep some functions "private"

---------

Co-authored-by: Rahim Rahman <rahim.rahman@mattermost.com>
2025-01-06 12:13:52 -05:00
Daniel Espino García
32453b320c
Fix interactive dialog number handling (#8431) 2024-12-19 09:45:03 +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
da38976cff
Remove end user message for unsupported servers (#8404)
* Remove end user message for unsupported servers

* Update test
2024-12-12 13:02:17 +01:00
fxnm
9607f42243
fix: fixed image overflow in message attachments (#8361)
* fix: fixed image overflow in message attachments

* fix: fixed image overflow in message attachments
2024-12-06 08:27:42 +02:00
Daniel Espino García
d996ed8133
Fix join/leave messages not showing (#8396) 2024-12-06 07:46:15 +08:00
Pattara Kiatisevi
21e929dca2
Fix Thai search keywords not properly hi-lighted in the search results. (#8347) 2024-12-04 02:40:07 +08:00
Daniel Espino García
7f21754b78
Fix 60879 (#8344)
* Fix 60879

* Address feedback

* Address feedback

* Add tests
2024-12-03 10:49:38 +01:00
Elias Nahum
7cb2ee75b3
Fix bottomSheet bottom insets (#8331)
* Fix bottomSheet bottom insets

* fix search team picker on android

* ux review

* fix footer padding for message priority modal on iPad
2024-11-29 12:50:09 +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
f911a29e4c
Fix MM-61710 (#8368) 2024-11-27 16:18:08 +01:00
Daniel Espino García
2649b4b63a
Remove app alias for imports (#8314) 2024-11-07 08:34:49 +08:00
Elias Nahum
418f43cf16
Add utils/post_list unit tests (#8265) 2024-10-18 12:45:08 +08:00
Elias Nahum
eba51a73c6
Add utils/role unit tests (#8266) 2024-10-18 06:30:34 +08:00
Elias Nahum
0df47511a9
Add utils/search unit tests (#8267) 2024-10-18 06:29:49 +08:00
Elias Nahum
394da4487c
Various Fixes (#8212) 2024-09-13 04:46:15 +08:00
Elias Nahum
a2dca382c7
add unit tests to app/utils/notification (#8140) 2024-08-29 00:04:12 +08:00
Elias Nahum
2174c679e1
add unit tests for app/utils/navigation (#8139) 2024-08-29 00:03:50 +08:00
Elias Nahum
358417dd7b
add unit tests to app/utils/permalink (#8141) 2024-08-29 00:03:25 +08:00
Elias Nahum
48af5fdcd5
add unit tests to app/utils/post (#8142) 2024-08-29 00:02:40 +08:00
Elias Nahum
5261e29c38
add unit tests to app/utils/markdown (#8135) 2024-08-12 09:16:11 +03:00
Elias Nahum
bde7e3e006
add unit tests to app/utils/general (#8133) 2024-08-08 14:21:17 +03:00
Elias Nahum
6b5de21317
Add unit tests for app/utils/images (#8134) 2024-08-08 14:20:40 +03:00
Elias Nahum
e7fe7c23ff
add unit tests to utils/gallery (#8117) 2024-08-06 13:17:36 +03:00
Elias Nahum
4048b70713
fix cannot read data when opening a deeplink (#8109) 2024-07-27 03:37:57 +08:00
Elias Nahum
ca00ab21da
fix loop counters should not be assigned within the loop body (#8112) 2024-07-26 09:03:33 -04:00
Elias Nahum
a3ac7535f1
added unit tests for utils/file/file-picker (#8099) 2024-07-23 20:15:05 +08:00
Elias Nahum
5b510cb780
fix issues found by sonarqube (#8095)
* fix issues found by sonarqube

* fix unit test
2024-07-18 09:40:47 +08:00