* Fix stale search results when files are deleted from posts
* Minor
* cleaned the dependency from useDidUpdate to not trigger unnecessary API call
* Added comment
* Add the channel options to get into playbooks (#8750)
* Add the channel options to get into playbooks
* Use playbook run id instead of playbook id
* i18n
* Fix issues and move playbooks to the products folder
* Address some tests
* Fix test
* Address design issues
* Add requested comment
---------
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Playbooks database (#8802)
* Add lastPlaybookFetchAt to channel table (#8916)
* Add lastPlaybookFetchAt to channel table
* Add missing commit
* Use my_channel table instead
* Fix test
* Address feedback
* First implementation of playbooks API (#8897)
* First implementation of playbooks API
* Add version check
* Address feedback
* Fix test
* Add last fetch at usage and other improvements
* Simplify test
* Add sort_order, update_at and previousReminder columns (#8927)
* Add sort_order, update_at and previousReminder columns
* Remove order from the schema
* Fix tests
* Add tests
* Add websockets for playbooks (#8947)
* Add websocket events for playbooks
* Fix typo
* Add playbook run list (#8761)
* Add the channel options to get into playbooks
* Use playbook run id instead of playbook id
* i18n
* Fix issues and move playbooks to the products folder
* Address some tests
* Fix test
* Add playbook run list
* Add missing texts
* Add back button support and item size to flash list
* Address design issues
* Add requested comment
* Standardize tag and use it in the card
* Fix merge
* Add API related functionality
---------
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Add playbooks run details (#8872)
* Add the channel options to get into playbooks
* Use playbook run id instead of playbook id
* i18n
* Fix issues and move playbooks to the products folder
* Address some tests
* Fix test
* Add playbook run list
* Add missing texts
* Add back button support and item size to flash list
* Address design issues
* Add requested comment
* Standardize tag and use it in the card
* Add playbooks run details
* Fix merge
* Add API related functionality
* Add API related changes
* Order fixes
* Several fixes
* Add error state on playbook run
* i18n-extract
* Fix tests
* Fix test
* Several fixes
* Fixes and add missing UI elements
* i18n-extract
* Fix tests
* Remove files from bad merge
---------
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Add missing tests for playbooks (#8976)
* Add the channel options to get into playbooks
* Use playbook run id instead of playbook id
* i18n
* Fix issues and move playbooks to the products folder
* Address some tests
* Fix test
* Add playbook run list
* Add missing texts
* Add back button support and item size to flash list
* Address design issues
* Add requested comment
* Standardize tag and use it in the card
* Add playbooks run details
* Fix merge
* Add API related functionality
* Add API related changes
* Order fixes
* Several fixes
* Add error state on playbook run
* i18n-extract
* Fix tests
* Fix test
* Several fixes
* Fixes and add missing UI elements
* i18n-extract
* Fix tests
* Remove files from bad merge
* Add tests
* Fix typo
* Add missing strings
* Fix tests and skip some
* Fix test
* Fix typo
---------
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Address feedback
* Address feedback and fix tests
* Address comments and fix tests
* Address feedback
* Address plugin changes and fix bugs
---------
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* MM-64415 Attachment style updated for draft and Edit post screen
* Minor
* constants
* Addressed Review comments
* UX review comments
* Error state changes
* Fix the style issue for retry state on the attachment
* Fix some styling
* Fix the space extra char issue in post
* Added test for draft_scheduled_post and header component
* Added test for drafts_button/index.ts
* Added test for send_button/index.ts
* Added test for servers/scheduled_post.ts queries
* Added test for global_scheduled_post_list/index.ts
* Added test for rescheduled draft index file and minor update
* Added test for core option and index
* Added test for scheduled post options
* Added test for send_draft index file
* updated test for draft_scheduled_post and draft_scheduled_post_header
* Updated test for drafts_button index
* Updated test for send_button index
* Updated test for server/scheduled_post
* Updated test for global_scheduled_post/index
* removed the unnecessary config and team data to populate in db for test
* Update app/components/draft_scheduled_post/draft_scheduled_post.test.tsx
Co-authored-by: Daniel Espino García <larkox@gmail.com>
* linter fixes
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
Co-authored-by: Daniel Espino García <larkox@gmail.com>
* Viewing Files in Edit mode in mobile with ability to delete and save
* Added upload attachment to keyboard tracker view
* using state instread of use ref
* Minor
* Added tests
* intl extract
* new function getFiles
ById, batch file deletion and tests
* Files fetching in edit options and tests
* Removed DeviceEventEmitter and used React context
* Added support to check minimum required version to show edit file attachments
* resolve forward ref issue
* Minor
* memotized props for context and observe config with value
* Ability to show quick action and add files to edit post
* type safety for EditPostContext
* Reverted back the post priority props
* constant shift
* Added test for QuickAction to show slashcomand
* Added test for edit_post, upload_item and upload_remove
* Added test for Edit_post_input and edit_post index
* fix the height issue between attachment and keyboard due to safeArea
* Minor: removed debugging border color
* Changed the Edited text style in the post from (edited) to icon + Edited
* Import fixes
* Ability to show quick action and add files to edit post
* type safety for EditPostContext
* Reverted back the post priority props
* constant shift
* Added test for QuickAction to show slashcomand
* Added test for edit_post, upload_item and upload_remove
* Added test for Edit_post_input and edit_post index
* fix the height issue between attachment and keyboard due to safeArea
* Minor: removed debugging border color
* Addressed dev review comments
* Import fixes
* Address UX comments
* Fixed props for UploadItem and remove effective Edit mode
* handled save button disabled state when uploading attachments
* handled newly added and retry file removal without alert message
* Test updated
* Added test for input_quick_action index.tsx
* Added test for not in edit mode for upload_item index
* Added test for upload_remove component when not in edit mode
* added tests for file_upload_error hook
* Added test for calling callback when in edit mode
* Test for edit post input for server version check
* linter fixes
* Changed font size from 16 to 14px for edited
* separated common component and test
* Removed the margin styles from the text as it is not been applied.
* removed the duplicate code from rebase
* feat: add support for reduced motion in BottomSheet and TabBar components
* fix: remove reduceMotion option from animation timing in login, onboarding, and server screens
* feat: integrate reduced motion support to the entire app and switch accordingly
* feat: positions the Login screen differently if animations are disabled
* fix: remove mock implementation of useReducedMotion in react-native-reanimated
* revert login screen
* fix: remove unused effect that resets translateX value in LoginOptions
* feat: add reduced motion support to ForgotPassword screen and reset translateX on LoginOptions mount
* feat: integrate reduced motion support in Onboarding and Slide components
* feat: add reduced motion support to MFA and SSO screens
* feat: update ReducedMotionConfig to use system preference in withServerDatabase
* refactor: remove ReducedMotionConfig from withServerDatabase component
* feat: remove reduced motion configuration from screens and adjust animations accordingly
* feat: integrate reduced motion handling in Server component animations
* feat: enhance BottomSheet animation with reduced motion support and update test setup for react-native-reanimated
* fix: update channel list row snapshots with collapsable and animated props
* test: update react-native-reanimated mock setup for improved testing
* fix: enhance react-native-reanimated mock to support reduced motion and prevent default call
* fix: refactor animationConfigs to use useMemo for improved performance and clarity
* feat: implement screen transition animation hook and integrate it into ForgotPassword screen
* fix: refactor LoginOptions to utilize useScreenTransitionAnimation for improved animation handling
* refactor: streamline MFA component by removing unused imports and integrating useScreenTransitionAnimation for enhanced transitions
* refactor: simplify Onboarding component by removing unused imports and integrating useScreenTransitionAnimation for smoother transitions
* refactor: enhance useScreenTransitionAnimation hook to support animated transitions and integrate it into Server component
* refactor: replace custom animation logic with useScreenTransitionAnimation in SSO component for improved transition handling
* Viewing Files in Edit mode in mobile with ability to delete and save
* Added upload attachment to keyboard tracker view
* using state instread of use ref
* Minor
* Added tests
* intl extract
* new function getFiles
ById, batch file deletion and tests
* Files fetching in edit options and tests
* Removed DeviceEventEmitter and used React context
* Added support to check minimum required version to show edit file attachments
* resolve forward ref issue
* Minor
* memotized props for context and observe config with value
* Import fixes
* Ability to show quick action and add files to edit post
* type safety for EditPostContext
* Reverted back the post priority props
* constant shift
* Added test for QuickAction to show slashcomand
* Added test for edit_post, upload_item and upload_remove
* Added test for Edit_post_input and edit_post index
* fix the height issue between attachment and keyboard due to safeArea
* Minor: removed debugging border color
* Addressed dev review comments
* Import fixes
* Address UX comments
* Fixed props for UploadItem and remove effective Edit mode
* handled save button disabled state when uploading attachments
* handled newly added and retry file removal without alert message
* Test updated
* Added test for input_quick_action index.tsx
* Added test for not in edit mode for upload_item index
* Added test for upload_remove component when not in edit mode
* added tests for file_upload_error hook
* Added test for calling callback when in edit mode
* Test for edit post input for server version check
* Viewing Files in Edit mode in mobile with ability to delete and save
* Added upload attachment to keyboard tracker view
* using state instread of use ref
* Minor
* Added tests
* intl extract
* new function getFiles
ById, batch file deletion and tests
* Files fetching in edit options and tests
* Removed DeviceEventEmitter and used React context
* Added support to check minimum required version to show edit file attachments
* resolve forward ref issue
* Minor
* memotized props for context and observe config with value
* Import fixes
* Fix GM/DM unread threads highlighting all teams as unreads
* Use options object instead of boolean flags
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
* MM-64243 Fix the animation delay while send the post in the channel
* Updated test and logic
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
* feat(MM-64410): batch write all posts for all channels on team-by-team basis
* skipAuthor=false, so the authors will be fetched after post fetching
* renaming a file
* revert unplanned changes
* missing end line
* fix broken test
* Review comment. Using 20 posts
* Standardize tabs across different components
* Add tests and minor fixes
* Remove unneeded tests
* Add missing change
* Fix test
* Refactor to remove the component from the hook
* Rename hasDot for requiresUserAttention.
* Apply the changes to scheduled posts
* Fix texts
* Fix tests and fix minor style issue on iOS
* Fix filter positioning
* Fix some e2e tests
* Fix tests
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
* MM-63935 - abac end user indicators
* rename policy variables to clearly indicate are from abac
* update attributes hook to cache processed data
* use policyEnforce property
* add missing type
* rename policy_enforced to abac_policy_enforced part 1
* add channel policy enforced type
* fix translation file
* remove unnecesary stop propagation
* use existing components
* remove unnecesary files
* fix snapshot
* update snapshot
* do not tie styles to the abac feature
* remove unnecesary margin top
* simplify props, add style for flat banner, remove unncesary index
* simplify condition, extract inline to component function
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
* MM-63935 - abac end user indicators
* rename policy variables to clearly indicate are from abac
* update attributes hook to cache processed data
* use policyEnforce property
* add missing type
* rename policy_enforced to abac_policy_enforced part 1
* add channel policy enforced type
* fix translation file
* remove unnecesary stop propagation
* MM-63935 - abac end user indicators db changes
* rename the policy name to clarify which policy does refer to
* update property name and add documentation to clarify intention
* rename policy_enforced to abac_policy_enforced db changes side
* feat: fixed email copy interface
* feat: changed message when long-pressing an email on mobile in messages & headers
* implemented changes: message decriptors outside component; email/url check and cleanHref outside renderContent function
* Fix direct message screen showing deactivated accounts
Fixes MM-63374. The create direct message screen was showing deactivated accounts in the user list. Fixed by:
1. Setting allow_inactive: false in userSearchFunction when searching profiles
2. Setting active: true in userFetchFunction when fetching profiles
3. Added a test to verify that deactivated users don't appear in the search results
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Fix test for deactivated users in DM creation screen
Updated the test to properly handle quotation marks that differ between CI and local environments.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
---------
Co-authored-by: Claude <noreply@anthropic.com>
* Add Report a Problem functionality
* update cache pinned SHA version from 4.0.2 to 4.2.0
* Address feedback
* Fix tests
* Fix some issues and update kotlin coroutines version
* Fix delete file for iOS
* Bump 1 more version for coroutines
* Use rxjava instead of kotlin coroutines to avoid security issue
* Move path prefix to avoid test error
* Address feedback
* Address feedback
* Address feedback
* Use mailto on iOS
* Fix tests related to button changes
* Address feedback
* Update icon and fix onboarding buttons
* Fix test
---------
Co-authored-by: Angelos Kyratzakos <angelos.kyratzakos@mattermost.com>
Co-authored-by: Mattermost Build <build@mattermost.com>
* Add license load metric to About screen
- Add REST endpoint to fetch license load percentage
- Display load metric in About screen next to server version
Fixes: https://mattermost.atlassian.net/browse/MM-63728
* MM-63728: Address PR feedback from enahum
- Move license load metric fetch to a remote action
- Use isMinimumServerVersion to check for server 10.8.0 or higher
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* MM-63728: Simplify getLicenseLoadMetric to directly return number
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* MM-63728: Move getLicenseLoadMetric to dedicated license.ts file
- Create new remote action file specifically for license-related functions
- Add test file for the license actions
- Update imports in about.tsx
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* MM-63728: Remove redundant license check in about.tsx
- Rely on getLicenseLoadMetric to handle the license check
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* MM-63728: Update E2E tests for license load metric
- Add license load metric test IDs to about screen
- Update E2E test to check for load metric when license is enabled
- Handle cases where server might not support the feature
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* recover app/actions/remote/general.ts
* MM-63728: Return error from getLicenseLoadMetric instead of silent failure
- Remove silent failure and debug logging
- Return the error object when API call fails
- Update the About component to handle possible error responses
- Update tests to verify error handling
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* MM-63728: Remove groupLabel parameter from getLicenseLoadMetric
- Remove groupLabel parameter from client getLicenseLoadMetric method in interface and implementation
- Update client tests to reflect the parameter removal
- Update license action test to verify no parameter is passed
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* simplify about screen checks
* MM-63728: Use jest.mocked and real version checks in license tests
- Removed isMinimumServerVersion mock, letting tests use real version checking
- Used proper type casting for mock Client
- Added comprehensive version compatibility test cases
- Simplified test setup
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* MM-63728: Remove redundant server version test
- Removed redundant test for different server versions
- Existing tests already cover the necessary version compatibility cases
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* MM-63728: Refactor license test to use better mocking pattern
- Refactored the test file to use a better mocking pattern similar to custom_emoji.test.ts
- Simplified mock declarations using jest.mock()
- Added type import for Client for better readability
- Improved type casting for mock objects
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* npm run fix
---------
Co-authored-by: Claude <noreply@anthropic.com>
* 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
* 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
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.
* 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>
* Only fetch bookmarks when the license allows to use them
* Fix tests
* Clarify condition
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
* 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
* 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
* 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
* 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
* 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>
* 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
* 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>
* 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
* 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>
* 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>
* 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
* 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>
* 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>
* 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>
* 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>
* 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
* Add support to use the keyboard area with a component
* fix import
* add missing providers to involved screens
* Change the way we handle the keyboard to allow using custom components in that area
* review feedback
* Increase branch test coverage for actions/remote/command
* Increase branch test coverage for actions/remote/session
* Increase branch test coverage for actions/remote/post
* prevent overlap of clear button, fix font, reduce space on recent statuses
* remove font size
* prevent newlines on android external keyboard
* move to reducer action
* change newline behaviour to space
* MM-61148 Rewrite table parsing based off cmark-gfm
* MM-61148 Add better error handling to Markdown code
* Use logError instead of console.error
* Switch back to published release
* Update import paths
* 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
* Add tests for actions/remote/command/executeCommand
* Add tests for actions/remote/command/executeAppCommand
* Add tests for the rest of actions/remote/command
* 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