* Playbook run status update post
* Show Playbooks button in Channel Info screen only if playbooks is enabled
* Handle Playbook links
* Fetch playbook if needed
* fix playbooks migration
* fix deeplinks using parsedUrl
* update last time playbooks where fetched if no errors
* show participants for run status update post
* fix tests
* remove console.log in test
* feedback review
* wrap participants footer
* add fastlane FASTLANE_XCODEBUILD_SETTINGS_RETRIES env vars
* 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>
* 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
* 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
* 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>
* 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
* 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
* 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>
* 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>
* 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
* 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
* 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>
* 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