* 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
* Remove watermelondb limitation on updating an already updated model
* Add logic to handle different prepare states and improve logging
* fix tests
---------
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Fetch & Save granular data retention policies through REST
* Init Data cleanup
* Run the clean up
* Deleting posts in patches and running across other servers
* fetch on graphql & refactor
* Feedback changes
* Added try catch for deletePosts function
* Feedback changes
* Changed to 'for of' loop
* Misc
* app/actions
* Date cutoff fox
* Prevent showing loading bar when request fails
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Co-authored-by: Mattermost Build <build@mattermost.com>
* Add connection banner
* Switch icon depending on whether it is connected or not
* Clean timeout and change text
* Handle optimistic approach
* Piggyback server item fix
* Use toMilliseconds util function
* Set the websocket as disconnected when we are manually closing it
* Do not hide banner when app state changes
Co-authored-by: Daniel Espino <danielespino@MacBook-Pro-de-Daniel.local>
* Add announcement banner
* Move config to its own table
* Add new config behaviour to iOS share extensions
* Fix test
* Add style changes
* Minor style fixes
* Address design feedback
* Address feedback
* Only render the announcement banner if container if licensed
Co-authored-by: Daniel Espino <danielespino@MacBook-Pro-de-Daniel.local>
* Fix crash on Android when session expired notification is presented
* react-native-notification patch for schedule fix on android and open local notification on iOS
* Fix android scheduled session notification crash
* patch react-native-navigation to support blur/focus AppState on Android
* remove schedule session expired notification from login entry point
* schedule session expired notification actions
* add session manager
* Handle open session expired notification
* added chevron to menu item component
* starting with the skeleton
* starting with the skeleton
* starting with the skeleton
* starting with the skeleton
* remove extra line
* tested on tablets
* some corrections
* corrections as per review
* starting with notification skeleton
* attached notification settings to navigation
* added auto responder
* update translation
* update snapshot
* updated snapshot
* correction after review
* removed unnecessary screen
* refactored
* updated the testIDs
* Update Package.resolved
* refactor
* removed Mattermost as default server name
* fix ts
* refactored settings constant
* display settings skeleton
- pending: query for allowed themes
* added 'allowedThemes' query
* correction after review
* correction after review
* removed extra notification_settings line
* Update en.json
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
* Add verification for push proxy and related interface
* Fix lint and extract i18n
* Be specific about undefined equalities.
* Fix test
* Address feedback
* Fix long server names styles
* Fix tests and typo
* Unreads on top
* Feedback addressed
* WIP: Using a lastUnreadChannelId to maintain an Active State on selected channel
* Pair programming session
* Pair programming #2
* Pair programming #3
* Test fix
* Fix add DM screen and some other database related issues
* Minor style fixes
* Handle create DM/GM websocket by using the teammate ids
* Address feedback
* wip checkin
* wip checkin because my system is messed up again
* correct the add user and remove user from channel functions. THe user and channel ids sometimes come from the broudcast field, not the data object
* remove old comments
* remove old comments
* remove old comments
* add back in unarchive handler. handleChannelUpdateEvent will also update the deleteAt value for a channel, but does not get called when unarchive from the channel view, only through the system console.
* nit remove empty line
* wip
* wip
* remove handleChannelConvertedEvent
* remove handleChannelDirectAddedEvent
* wip
* wip
* wip
* Fix websockets events
* Address feedback
* Ensure categories and some refactoring
* Self review fixes
* Fix category creation bug
* Address feedback and minor improvements
* Address feedback
* Fix lint
Co-authored-by: Daniel Espino García <larkox@gmail.com>
* Extract common observers to queries
* Separate also queries and more agressive refactoring
* Use query to avoid throws from findAndObserve
* Fix minor error
* Address feedback
* Address feedback
* Address feedback
* Fix model types
* Address feedback
* Fix & small refactor to the app entry logic and WS reconnection
* Remove not needed log in MainActivity
* Replace async forEach with for await
* extract getClient to its own block
* replace double filter with reduce
* fix select channel on WS reconnect and user no longer belongs to current team
* feedback review on WS users actions
* Add windowFocusChanged for Android only
* on WS reconnection set team & channel if not member of current team
* reduce suggestion
* feedback review
* Push notifications entry point
* Process android notification natively only if RN is not initialized
* Database changes to store local channel viewed_at
* EphemeralStore wait until screen removed
* Move schedule session notification to utility
* Fix channel remote & local actions + added actions for markChannelAsViewed & fetchMyChannel
* Add fetchMyTeam remote action
* Add dismissAllModalsAndPopToScreen to navigation
* Improve post list component & add app state to re-trigger queries
* Improve WS implementation
* Handle push notification events
* Fix postsInChannel since handler
* Handle in-app notifications
* Post list to listen to column changes
* Track selected bottom tab in ephemeral store
* add useIsTablet hook
* in-app notifications on tablets
* Login entry point
* feedback review
* sort imports
* Fix model relations
* Handle when no current team or current channel has been selected
* Fix MFA unit test
* update prepareCommonSystemValues arguments