Commit graph

1530 commits

Author SHA1 Message Date
Lucas Reis
6c51f3948c
feat: enabling autofill on inputs on the Login page (#8729) 2025-04-02 16:40:10 +02:00
David Krauser
7be0de3202
[MM-63576] Send websocket ping immediately after connecting (#8724) 2025-04-02 10:25:20 -04: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
Julien Tant
97210af090
turn cross team search ff into a config value (#8694) 2025-03-26 10:37:14 -07:00
Guillermo Vayá
427d61efd4
[MM-62176] fix ordering after edit (#8719)
* check render order
2025-03-26 11:01:29 +01:00
Guillermo Vayá
60d4e95229
[MM-63481] Don't substract keyboard height in Android as it was already substracted (#8697)
* don't substract keyboard height in Android as it was already substracted
2025-03-21 11:41:01 +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
b475f2bedb
Fix team sidebar not showing thread unreads (#8624)
* Fix team sidebar not showing thread unreads

* Fix tests

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2025-03-18 13:33:15 +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
Maria A Nunez
7063e5efa8
Updated empty state images (#8659)
* Updated search empty images

* Updated channel empty state images

* Styling

* Added unreads, threads, mentions and saved messages empty state images

* Removed withTheme

* Update snapshot

* Fixed color for unread sidebar svg
2025-03-13 17:03:30 -04: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
Elias Nahum
d84a0afd3a
Avoid unnecessary re-renders (#8673)
* Only set the height on the message component if it ends up being greater than the maxHeight to avoid re-renders

* Cache the teams theme to avoid unnecessary computation and re-renders

* useDidUpdate instead of useEffect to avoid setting the theme preference without need

* add comment on clear cache
2025-03-13 21:28:48 +08:00
Daniel Espino García
4f9323ee25
Update useExternalLink to match webapp (#8675) 2025-03-13 12:28:00 +01:00
Elias Nahum
6446eb96a3
fix keyboard blocking input on mentions notifications settings (#8664) 2025-03-13 07:53:24 +08:00
Elias Nahum
9bdaed498a
Fix list scrolling inside bottom sheet (#8648) 2025-03-12 17:29:50 +08:00
David Krauser
c27f0eade2
[MM-62925] introduce websocket client-side ping (#8633)
This commit introduces new functionality on the client side to send PING messages over the websocket. If the server doesn't respond within PING_INTERVAL (currently 30 seconds), the connection is closed and re-created. This will allow us to find broken connections more quickly.
2025-03-11 11:48:09 -04:00
Elias Nahum
0c24a646d4
Improve emoji picker performance introducing flashList (#8650) 2025-03-11 22:09:46 +08:00
Elias Nahum
915692d828
Do not use extra keyboard on Android (#8651) 2025-03-11 22:04:15 +08:00
Elias Nahum
1c8770c74d
MM-62896 Keyboard blocks input (#8646)
* WIP

* fix keyboard blocking text input for interactive dialog

* do not use extra keyboard and windowSoftInputMode:adjustNothing on Android 10 and under

---------

Co-authored-by: Devin Binnie <devin.binnie@mattermost.com>
2025-03-11 08:56:17 -04:00
Elias Nahum
2c32322bc7
Fix more messages indicator on read only channels (#8652) 2025-03-11 07:32:22 +08:00
Daniel Espino García
1ee03c73e7
Only fetch bookmarks when the license allows to use them (#8616)
* Only fetch bookmarks when the license allows to use them

* Fix tests

* Clarify condition

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2025-02-28 10:25:32 +01: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
Guillermo Vayá
0addf49021
[MM-62701] [MM-62176]Edit custom profile attributes in user profile (#8557)
* feat: Add support for custom profile attributes in edit profile form

feat: Add support for custom profile attributes in edit profile

refactor: Normalize whitespace in CustomAttribute type definition

fix: Resolve type mismatch for customAttributes in UserInfo interface

test: Add test for udpateCustomProfileAttributeValues method

fix typing, submit changes to server

missing files

test: Add tests for CustomProfileField component

fix naming

fix imports

fix

feat: Add field_refs hook for managing field references

feat: Make `setRef` ref parameter optional with default no-op implementation

refactor: Replace CustomProfileField with useFieldRefs for profile form

refactor: Optimize edit profile screen imports and custom attributes handling

refactor: Move custom attributes logic to remote actions in user.ts

address PR reviews

test: Add tests for custom attributes in edit profile

test: Add tests for EditProfile component with custom attributes

fix: Add UserModel type assertion to currentUser in edit profile tests

test: Add tests for ProfileForm custom attributes functionality

test: Add comprehensive tests for useFieldRefs hook

test: Add tests for fetchCustomAttributes and updateCustomAttributes

add tests

remove unneeded files

review changes

remove counter from hook

remove package.resolved

create interface for reuse of record

* fix signature type
2025-02-19 15:51:59 +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
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
yasser khan
9976cacec4
Add ability to run detox tests on Android (#8553) 2025-02-14 01:26:53 +05:30
Elias Nahum
4407ca06cf
2.25 fixes (#8578) 2025-02-11 17:21:26 +08:00
Julien Tant
d0073617ed
[MM-62898] Reset filter when changing team (#8564)
* refactor: Improve search team change handling and filter removal

* fix: revert package.resolved

* add test file

* extract regex and fix formatting of useCallback

* improve tests

* fix style
2025-02-10 10:33:08 -07:00
Elias Nahum
ee66890d32
MM-62915 and MM-62919 (#8568) 2025-02-08 07:17:15 +08:00
Joram Wilander
c804a1a589
MM-59445 + others - Add tests for channel bookmarks, systems, apps and tos files in remote/actions (#8558) 2025-02-07 23:57:17 +08:00
Elias Nahum
f2383f8bc5
Fix Android keyboard gap using navigation events (#8565) 2025-02-06 11:18:05 +01:00
Julien Tant
fb9760151c
[MM-60405] Crossteam search (#8411)
* Add new team picker for search

* try fix result header

* fix style

* add test for team picker

* add some tests

* add tests on team list and team list item

* hide All Teams search behind FF

* use style variable for separator

* ALL TEAMS does not have a search history

* Update app/components/team_list/index.test.tsx

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

* move ALL_TEAMS_ID to a constant file

* memoize the construction of team list to prevent useless allocation

* combine pushes

* move style to stylesheet

* revert changes to Package.resolved

* improve team list index tests

* add test to ensure team picker does not show for just one team

* add test to ensure the file icon filter only shows when i'm on the file tab

* improve jsx readability by making the if test positive

* add test to make sure team picket does not show if there's only one team

* test: remove snapshot and add expect that separator exists in index 0 but index 1 (#8474)

* Trigger Build

---------

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
Co-authored-by: Mattermost Build <build@mattermost.com>
Co-authored-by: Rahim Rahman <rahim.rahman@mattermost.com>
2025-02-05 13:46:38 -07:00
Elias Nahum
1207b0e0cd
Fix plus menu on home screen (#8560)
* fix plus menu on home screen

* fix snapshot tests

* Update index.test.tsx.snap

* Update index.test.tsx.snap
2025-02-05 10:50:04 +01:00
Elias Nahum
762bbabfa0
Fix android keyboard area when switching apps (#8554) 2025-02-05 08:12:57 +08:00
Daniel Espino García
c8f42ee67e
Add the Component Library to the app (#8319)
* Add the Component Library to the app

* fix i18n

---------

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2025-02-04 13:32:55 +01:00
Daniel Espino García
46f1cf3969
Check file id instead of metadata for file removal (#8549) 2025-02-03 15:02:28 +01:00
Joram Wilander
84f2a7d1f7
test: Add tests for AppsManager (#8545) 2025-02-03 08:56:46 -05:00
Joram Wilander
61ad688277
test: Add tests for NavigationStore (#8541) 2025-02-03 08:56:16 -05:00
Joram Wilander
fe2cc0673d
test: Add tests for launch.ts initialization logic (#8547) 2025-02-03 08:22:16 -05:00
Elias Nahum
a1da0a720f
fix: remove from channel (#8539) 2025-01-31 10:09:46 -07:00
Joram Wilander
6f8d6632b6
MM-59761 Add tests for i18n functionality (#8510)
* test: Add tests for i18n functionality

* Remove test causing i18n ci check failure
2025-01-31 09:30:42 -05:00
Joram Wilander
444364b63c
test: Add entry query function tests (#8534) 2025-01-31 08:22:11 -05: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
Joram Wilander
1cc6e7c3de
MM-59790 Add tests for team queries (#8527)
* test: Add tests for team queries

* Factor our common test variables

* Updates per review feedback
2025-01-30 08:26:26 -05:00
Joram Wilander
fe2b96bcd4
test: Add tests for role queries (#8532) 2025-01-30 08:26:08 -05:00
Joram Wilander
0565a687c5
test: Add tests for push notifications module (#8535) 2025-01-30 08:25:44 -05:00
Rahim Rahman
dc45bcb4a6
fix(MM-62461): uploading image attachment shows new message (#8528)
* fix(MM-62461): uploading image attachment shows new message

* remove console.logs

* clean up unit test

* clean up unneeded unit tests
2025-01-29 22:44:40 -07:00
Joram Wilander
1d254d4529
MM-59787 Add tests for preference query functions (#8530)
* test: Add tests for preference query functions

* sync test changes

---------

Co-authored-by: Rahim Rahman <rahim.rahman@mattermost.com>
2025-01-29 17:10:21 -05:00
Joram Wilander
0bac4b96f0
Fix flaky client/rest/general/ping test (#8533) 2025-01-29 13:33:34 -05:00
Guillermo Vayá
8fae132afa
fix loop (#8524) 2025-01-29 13:25:00 +01:00
Joram Wilander
4187e9f81a
MM-59741 + others - Add tests for remaining app/hooks files (#8517)
* test: Add tests for useHandleSendMessage hook

* test: Add tests for header hooks

* test: Add tests for device hooks

* test: Add tests for useChannelSwitch hook

* test: Add tests for useTeamSwitch hook

* test: Add tests for useInputPropagation hook

* test: Add tests for useWhyDidYouUpdate hook

* test: Add tests for useFreeze hook

* test: Add tests for useAutocompleteDefaultAnimatedValues hook

* test: Add tests for usePersistentNotificationProps hook

* test: Add tests for useFetchingThreadState hook

* test: Add tests for useBackNavigation hook

* test: Add tests for useShowMoreAnimatedStyle hook

* test: Add tests for useTeamsLoading hook

* test: Add tests for useNavButtonPressed hook

* test: Add tests for useDidUpdate hook

* test: Add tests for useAppBinding hook

* Fix type error and test
2025-01-28 08:51:50 -05:00
Joram Wilander
3ef637ff9d
MM-59426 Add tests for entry common functions (#8515)
* test: Add tests for entry common functions

* increase functions coverage to 80%

---------

Co-authored-by: yasserfaraazkhan <attitude3cena.yf@gmail.com>
2025-01-28 08:09:43 -05:00
Joram Wilander
6a96ca52ad
test: Add tests for session manager (#8504) 2025-01-28 08:09:15 -05:00
Rajat Dabade
1bd2e0b665
MM-62726 fix the active label color for channel and thread (#8523)
* MM-62726 fix the active label color for channel and thread

* Updated snapshot
2025-01-28 14:43:45 +05:30
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
Rahim Rahman
11022322d6
fix(MM-60645): missing bookmark emoji (#8518)
* fix(MM-60645): missing bookmark emoji
* add test
2025-01-27 11:01:08 -07:00
Daniel Espino García
25919131fc
Fix styles for add people ephemeral message (#8494) 2025-01-22 13:12:59 +01:00
yasserfaraazkhan
2830d06fc2
E2E: Mobile Drafts tests cases (#8469) 2025-01-22 04:02:14 +05:30
Claudio Costa
44bce6c319
[MM-59773] Add unit tests for Calls (#8480)
* Unit tests for app/products/calls/observers

* Unit tests for app/products/calls/actions

* Unit tests for app/products/calls/client

* Unit tests for app/products/calls/connection

* Unit tests for app/products/calls/connection/websocket_event_handlers.ts

* Unit tests for app/products/calls/connection/connection.ts

* Unit tests for app/products/calls/state/actions.ts

* Unit tests for app/products/calls/utils.ts

* Unit tests for app/products/calls/alerts.ts

* Unit tests for app/products/calls/calls_manager.ts

* Unit tests for app/products/calls/hooks.ts

* Factor out force logout error

* Reduce use of 'as jest.Mock'

* Add test case

* Use constants

* Better naming

* Fix types after merge

* Fix test
2025-01-21 12:02:03 -06:00
Joram Wilander
681585d5db
test: Add websocket manager tests (#8496) 2025-01-21 08:42:35 -05:00
Joram Wilander
575a689407
Add tests to remaining actions/websocket files (#8495)
* test: Add comprehensive tests for websocket roles actions

* test: Add comprehensive tests for websocket category actions

* test: Add comprehensive tests for websocket preferences actions

* test: Add comprehensive tests for websocket threads actions

* test: Add comprehensive tests for websocket reactions actions

* test: Add comprehensive tests for websocket system actions

* test: Add comprehensive tests for websocket integrations actions
2025-01-21 08:42:09 -05:00
Joram Wilander
e8ed761d30
MM-59740 + others - Add tests for various files in hooks/ (#8448)
* Add tests for hooks/android_back_handler

* Add tests for hooks/gallery

* Add tests for hooks/files

* Add tests for hooks/emoji_category_bar

* Add tests for hooks/markdown

* Increase more coverage for hooks/gallery.ts

---------

Co-authored-by: yasserfaraazkhan <attitude3cena.yf@gmail.com>
2025-01-21 08:41:52 -05:00
Joram Wilander
0663d39365
Add tests to index, group and users websocket actions (#8486)
* test: Add tests for websocket index actions

* test: Add tests for websocket group actions

* test: Add tests for websocket users actions

* Fix missing import in index.test.ts

* Fix type in test after main merge

* Fix tests after main merge

* Updates per review feedback

* Remove unused import
2025-01-17 14:25:12 -05:00
Daniel Espino García
438edd96f6
Fix edit attachments (#8468)
* Fix edit attachments

* Address feedback
2025-01-17 12:41:14 +01:00
Daniel Espino García
592b3805f1
Fix timezone crash (#8485)
* Fix timezone crash by adding all timezones to the polyfill

* update snapshots; be careful about undefined: diff on local vs CI

* one more that's different locally vs CI

* i18n

---------

Co-authored-by: Christopher Poile <cpoile@gmail.com>
2025-01-16 17:29:57 -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
Joram Wilander
a314c6059f
Add tests for actions/websocket/teams (#8479) 2025-01-16 15:21:30 -05: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
kondo
52e05fba13
MM-62411 Retrying SSO does not trigger a redirect (#8458)
* The server url is being registered as invalid.
Even if the URL is valid upon retry, it is still being registered as invalid.

* Delete unnecessary import

* Delete serverUrl

* Delete serverUrl props on test
2025-01-16 13:02:23 +01: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
6ffc24a1fd
Add tests for queries/app/servers (#8477) 2025-01-15 14:43:01 -05:00
Guillermo Vayá
805c14af6d
fix spacing between bookmarks, align + icon (#8476) 2025-01-15 14:50:40 +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
Joram Wilander
cdbb9ebfd7
Add tests for actions/websocket/event (#8470) 2025-01-13 19:19:00 -05:00
Joram Wilander
e6c19637b9
Add tests for actions/websocket/posts (#8465) 2025-01-13 19:18:42 -05: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
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
Rahim Rahman
8b5c50e6e8
test(MM-59431): file.ts unit test (#8424)
* test(MM-59431): file.ts unit test

* get to 100% coverage

* add regression proof for some callback methods in uploadFile

* add unhappy path
2025-01-08 20:19:24 -07:00
Joram Wilander
e15e7d3a57
Add tests for utils/user (#8453) 2025-01-08 15:30:48 -05:00
Joram Wilander
38e7901660
MM-59684 Add tests for client/websocket (#8452)
* Add tests for client/websocket

* Updates per review feedback
2025-01-08 12:38:44 -05:00
Joram Wilander
d1e3048bc7
MM-59433 Add unit tests to actions/remote/retry (#8445)
* Add unit tests to actions/remote/retry

* Factor out some common test variables

* add some other test

---------

Co-authored-by: Rahim Rahman <rahim.rahman@mattermost.com>
2025-01-08 12:30:16 -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
4fedb846bc
MM-59683 + more - Add tests to client/rest (#8447)
* Add tests to client/rest/users

* Add tests to client/rest/channels

* Add tests to client/rest/posts

* Add tests to client/rest/teams

* Add tests to client/rest/general

* Minor clean-up

* Add tests to client/rest/file

* Add tests to client/rest/threads

* Add tests to client/rest/emojis

* Add tests to client/rest/integrations

* Add tests to client/rest/categories

* Add tests to client/rest/groups

* Add tests to client/rest/channel_bookmark

* Add tests to client/rest/preferences

* Add tests to client/rest/tos

* Add tests to client/rest/nps and client/rest/plugins

* Minor clean-up

* Fix type error with proper client.searchFiles definition

* add more test to cover 100%

* add teamId test

* improve users test

---------

Co-authored-by: Rahim Rahman <rahim.rahman@mattermost.com>
2025-01-07 08:23:28 -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
Daniel Espino García
d75cbcde7f
Fix interactive dialogs not showing (#8427)
* Fix interactive dialogs not showing

* Use conditionals
2024-12-18 15:54:08 -05:00
Joram Wilander
663cda2b77
MM-59652 Add unit tests to actions/websocket/channel (#8417)
* Add unit tests to actions/websocket/channel

* Updates per review feedback
2024-12-18 08:19:37 -05: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
Amy Blais
9ac635d2ee
Update supported ESR version (#8410)
v9.11 ESR is the latest supported ESR version.

Ticket
https://mattermost.atlassian.net/browse/CLD-8696

```release-note
NONE
```
2024-12-13 09:02:55 +02:00
Rahim Rahman
6d94675955
fix(MM-49742): broken user avatar (#8356)
* fix(MM-49742): broken user avatar

* add border for both focused and unfocused for profile photo on the bottom tab bar
* status size reduced to 12 from default 14
* the size of the profile photo has been reduced from 28 to 22 to be inline with other icons on tab bar

* revert initial commit

* add unit test for Account

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2024-12-12 10:33:17 -07: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
Joram Wilander
d468d34a5d
Add tests for queries/server/channel (#8395) 2024-12-06 09:35:21 +08:00
Daniel Espino García
d996ed8133
Fix join/leave messages not showing (#8396) 2024-12-06 07:46:15 +08:00
Pablo Vélez
8b9779d4b3
MM-56899 - prevent app block when setting custom status if no internet (#8283)
* MM-56899 - prevent app block when setting custom status if no internet

* remove alert and use build in error message

* remove unused translations

* implement pr feedback

* keep function in local file

* remove unnecessary change

* fix placeholder position

* block the done button while the server replies

* add close button to the modal
2024-12-05 15:53:54 -05:00
Daniel Espino García
9632ce5038
Surround text on file info for searches (#8391) 2024-12-04 07:57:23 +02: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