* update dependencies
* eslint fixes
* Upgrade to RN 67
* update other deps
* Update to RN 0.67.2
* fix Android build (mmkv)
* Fix crash when root message is deleted from the thread screen
* Fix gif emoji playing at high speed on iOS ProMotion capable devices
* Some extra work on voice channels interface
* Fixing some TODOs
* Improving styling of call in channel
* Improve calls monitoring
* Replacing some of the fontawesome icons with the compass ones
* Improving the layout
* Migrating to webrtc2 for unified plan
* Add screen on and off behavior
* Adding incall manager plugin
* Moving everything into the products/calls folder
* Make products modules routes relatives
* Make products modules routes @mmproducts
* Removing initiator parameter
* Removing trickle parameter
* Simplifying code
* Removing underscore from private variables
* Removing underscore from private things
* More simplifications
* More simplifications
* More simplifications
* Changing sha sum for mmjstool
* Fixing typo
* Migrating simple-peer to typescript
* Migrating simple-peer to typescript
* Improving the size of the screen share
* Adding feature flag to disable the calls feature in mobile
* Fixing some tests
* Removing obsolte tests
* Added call ended support for the post messages
* Fixing some warnings in the tests
* Adding JoinCall tests
* Adding CallMessage tests
* Adding CurrentCall unit tests
* Adding CallAvatar unit tests
* Adding FloatingCallContainer unit tests
* Adding StartCall unit tests
* Adding EnableDisableCalls unit tests
* Adding CallDuration tests
* Improving CallDuration tests
* Adding CallScreen unit tests
* Adding CallOtherActions screen tests
* Fixing some dark theme styles
* Fixing tests
* More robustness around connecting/disconnecting
* Adding FormattedRelativeTime tests
* Adding tests for ChannelItem
* Adding tests for ChannelInfo
* Adding selectors tests
* Adding reducers unit tests
* Adding actions tests
* Removing most of the TODOs
* Removing another TODO
* Updating tests snapshots
* Removing the last TODO
* Fixed a small problem on pressing while a call is ongoing
* Remove all the inlined functions
* Replacing usage of isLandscape selector with useWindowDimensions
* Removed unnecesary makeStyleSheetFromTheme
* Removing unneded properties from call_duration
* Fixing possible null channels return from getChannel selector
* Moving other inlined functions to its own constant
* Simplifiying enable/disable calls component
* Improving the behavior when you are in the call of the current channel
* Adding missing translation strings
* Simplified a bit the EnableDisableCalls component
* Moving other inlined functions to its own constant
* Updating snapshots
* Improving usage of makeStyleSheetFromTheme
* Moving data reformating from the rest client to the redux action
* Adding calls to the blocklist to the redux-persist
* Fixing tests
* Updating snapshots
* Update file icon name to the last compass icons version
* Fix loading state
* Only show the call connected if the websocket gets connected
* Taking into consideration the indicator bar to position the calls new bars
* Making the MoreMessagesButton component aware of calls components
* Updating snapshots
* Fixing tests
* Updating snapshot
* Fixing different use cases for start call channel menu
* Fixing tests
* Ask for confirmation to start a call when you are already in another call
* Update app/products/calls/components/floating_call_container.tsx
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Memoizing userIds in join call
* Applying suggestion around combine the blocklist for calls with the one for typing
* Adding explicit types to the rest client
* Removing unneeded permission
* Making updateIntervalInSeconds prop optional in FormattedRelativeTime
* Making updateIntervalInSeconds prop optional in CallDuration
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Upgrade to rn 0.66.0
* Add keys to re-render post list and channel list
* Finish dep updates and rn to 0.66.1
* upgrade more dependencies
* Fix select_server tests
* New messages line in threads & Pull to refresh for global threads
* Updated snapshot
* Using postlist's RefreshControl component
* Updated threadlist snapshot
* Reverting snapshot
* Updated Snapshots
* Snapshots updated
* Added 'thread last viewed at' to handle new messages line correctly
* Lint fix
* Updated snapshots
* Reverted comparision check
* Remove unused code
* Batching actions
* Do not add new message line for self messages
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
* Add linter rules for import order and type member delimiters
* Remove unneeded group
* Group all app/* imports before the internal imports
* Move app/ imports before parent imports
* Separate @node_modules imports into a different group
* Substitute app paths by aliases
* Fix @node_modules import order and add test related modules
* Add aliases for types and test, and group import types
* [MM-31133]: participants screen component (#5116)
* Fixed imports
* Misc fixes
* Added i18n string
* Moved '(you)' after the name
* [MM-30386][MM-30387] Client and redux changes for collapsed reply threads (#5175)
* [MM-30386][MM-30387] Client and redux changes for collapsed reply threads
* fix tests
* add and use flat shim
* use test helper function
* use test helper function
* revert crt changes to unused client and action functions
* use toEqual
* incorporate code review feedback
* don't assume server success
* batch actions
* clearer code
* WIP in changes, websockets and more redux changes
* Added mark thread as read and mark all as read in a team
* Added isCollapsedThreadEnabled entity
* Fixed loading global screens on load if it's the last visited screen
* Added root count and websocker and redux events related to threads
* Fixed Message, Mention count root count on init and decrement actions
* Moved old client to new client/rest
* Misc fix
* Misc fix
* Misc.
* Old redux test cases fix
* Added polyfill back for array flat
* Fixes mark as unread and pariticipants error in thread
* Fixed initial load when CRT not enabled
* Handling CRT preference change
* Get threads fallsback to search in posts in case of unfollowed or unloaded threads
* Gets threads on reconnect
* DM, Channel counter fix
* Added threads redux tests
* Fixed channel dot issue when child post is arrived channel not active
* Cleaning up threads on load, not letting posts included in threads getting deleted which can trigger many posts to be loaded at once
* Fixed crash on team switch, partly fixed enable/disable from webapp
* Fix when viewing a post from notification, to prevent from navigating back to global threads
* Fixed when preferences are changed before app is launched
* Fixed issue of NO THREADS appearing on reconnect
* Excludes CRT handling for newly logged in users
* Fixed unread dot showing even when all messages are read
* Update app/mm-redux/selectors/entities/threads.ts
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Not viewing threads action is pushed only when suer is in Global Threads
* Fixed cleanup to exclude current team when cleanup starts on app going to background
* Dispatch is not passed as param, misc code fixes
* Preferences check and handling code refactored
* added redux-mock-store
* Preference change fix
* Removed user login dispatch when handling crt change
* Fixed fallback thread support
* Return getThread
* Added threads to sidebar, moved teamId logic to action
* [MM-29106, MM-34847, MM-34843, MM-34846] Collapsed reply threads, Global Threads & In Channel experience UI implementation (#5376)
* feat: global threads screen
* Refactored global thread menu and misc design fixes
* Added empty states for threads, unread. Removing markdown from thread messages.
* Added friendly date, fixed long usernames & channel names in threads view.
* Mark thread as read
* Added intl, refactored code, seperated thread footer from thread item
* Added intl to global threads, added global threads to android
* Added Follow button to thread view
* Added thread badges
* In Channel experience .. WIP
* Clean posts in channel incase CRT is enabled.
* Added follow button, deleted messages doesnot have footer and design is now according to figma
* Removed old post and post header
* Added for follow/unfollow thread and fixed old one
* MISC design & code fixes
* Added options-follow/unfollow to the post's long press menu
* Shows ORIGINAL MESSAGE DELETED in thread when root post gets deleted
* Post list ts fix
* Old testcases fix
* Eslint fix
* Added custom status emoji in at mention autocomplete
* Fixed the width of the displayname and username
* Changed the max width for the full name and username in the autocomplete item
* Review fixes
Changed the behaviour of ellipses for long names
* Removed safearea bottom
* Fixes Mark and unread and thread header theme
* Fixes mark as unread and pariticipants error in thread
* Unfollowing post fix and misc
* Merge with master fix
* Added fallback to get thread from posts in case of not following/unloaded threads
* Refactored code and added tests for screens
* Loads threads from global threads screen, marks thread as marked on new thread posts
* Fixed tabs render on no threads, threads footer items styling and tests
* Loads threads based on tab and items according to constant
* Added infinite loading, unreads based on redux and not active thread list
* Fixed the username cutting off after truncating display name issue
* Changed avatars to touchableOpacity and added prop for parent component to style
* Fixed infinite loading, tab switching scroll to top, misc styles, team switching, scroll indicator insets
* Added follow button to DMs, moved follow button further right only on ios
* Snapshot updated
* Moved from useSelector to connect HOC
* Scrolls to top on team change, changed thread constant from mm-redux
* Fix merge issue
* Test case fix
* Fixed participants list
* Update app/components/global_threads/global_threads.tsx
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Update app/components/global_threads/thread_footer/thread_footer.tsx
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Update app/components/sidebars/main/channels_list/channel_item/index.js
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Update app/screens/thread/index.js
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Moved date numbers to constants
* Fixed global threads component issues
* Thread item display logic moved to redux
* Misc fixes
* Reverted to TouchableWithFeedback with opacity
* Removed obselete snapshots
* Removing currentTeamId as we aregetting it in action
* Moved to connect component from useSelect for sidebar
* Thread read issue fix
* Removed react-native-navigation mock
Co-authored-by: Anurag Shivarathri <anurag6713@gmail.com>
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Co-authored-by: Manoj <manoj@brightscout.com>
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
Co-authored-by: Anurag Shivarathri <anurag6713@gmail.com>
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
Co-authored-by: Manoj <manoj@brightscout.com>
Co-authored-by: Ashish Bhate <bhate.ashish@gmail.com>
Co-authored-by: Ashish Bhate <ashish.bhate@mattermost.com>
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
Co-authored-by: Manoj <manoj@brightscout.com>
* Unable to open previews from search, pinned and mentions
* Granular data retention initialised
* Added server version check, logic to remove posts & test cases
* Restructured reducer & runs the job only one time a day
* Updated minimum server version with 5.36
* Reverting client.ts changes
* Added client rest calls & removed config check for data retention enabled or not & fixed test case
* Added check for license
* Update app/actions/views/login.js
Co-authored-by: Miguel Alatzar <migbot@users.noreply.github.com>
* Update app/store/middlewares/helpers.js
Co-authored-by: Miguel Alatzar <migbot@users.noreply.github.com>
* Update app/store/middlewares/helpers.js
Co-authored-by: Miguel Alatzar <migbot@users.noreply.github.com>
* Fixed lint error
* Update app/client/rest/general.ts
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Update app/client/rest/general.ts
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Added redux migration
* Updated server version to 5.37
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Co-authored-by: Miguel Alatzar <migbot@users.noreply.github.com>
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Update dependencies
* Fix lint, use npm@6
* Fix unit tests
* Dowgrade Fastlane
* Fix Fastlane script
* use android:api-29-node ci image
* Infer gradle json file from apk output folder
* Fastlane to Parse new version of gradle output-metadata.json
* Fix infinite skeleton in different use cases
* Apply suggestions from code review
Co-authored-by: Miguel Alatzar <migbot@users.noreply.github.com>
* Update app/utils/teams.js
Co-authored-by: Miguel Alatzar <migbot@users.noreply.github.com>
* Set rehydration values to true on clean up
* Remove extra line
* Update app/store/middlewares/helpers.js
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Fix setting of views.root.hydrationComplete
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Serialize/Deserialize state as string in store, instead of map
To see if this positively impacts performance lag issues (channel sidebar opening, etc.)
* Update app/store/mmkv_adapter.ts
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Update app/store/mmkv_adapter.ts
* Typescript fixes
Co-authored-by: Miguel Alatzar <migbot@users.noreply.github.com>
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
Co-authored-by: Miguel Alatzar <this.migbot@gmail.com>
* Enable ESLint no-unused-vars
* Use FastImage instead of Image
* Update fast-image patch to support multiple cookies
* Fix ESLint errors
* Have jest run timers for post_textbox tests
* Feedback review
* Update snapshots
* MM-24463 Run message retention cleanup off of pre-existing state
Instead of a reconstructed "zero" state.
Only posts in channels, searched posts and flag posts are recalculated (as per data retention policy, if applicable). The rest of state is cloned from existing state.
* Mark hydrationComplete only if _persist state is undefined
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Set previous app version in redux store
* Handle setting previousVersion on login and clearing data
* Set previous version on logout instead
* Remove action arg
* Remove redux-offline and configure redux-persist
* Fix typo
* Fix configure store
* Upgrade to redux-persist 6.0.0
* Add migration from redux-persist v4 to v6
* Replace AsyncStorage with MMKVStorage to boost storage speed
* Mock RNFastStorage
* Fix reactions test
* Fix clearing the store on logout
* Remove the need for LOGOUT_SUCCESS
* No need to pass persistConfig to middlewares()
* Remove unused imports
* Export connection
Accidentally removed this export.
* Add batch action name
Co-Authored-By: Elias Nahum <nahumhbl@gmail.com>
* Add batch action name
Co-Authored-By: Elias Nahum <nahumhbl@gmail.com>
* Add batch action name
Co-Authored-By: Elias Nahum <nahumhbl@gmail.com>
* Add batch action name
Co-Authored-By: Elias Nahum <nahumhbl@gmail.com>
* Fix delete post
* Fix leave channel
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* MM-23490 Save state to file via async middleware vs store subscription
Currently for iOS, a subset of store state is saved to an on-device file, so that the Share Extension can have access to information it needs (teams and channels) to function.
This file saving would happen via a store subscription which triggers a file save for every dispatched action. By moving this logic to a middleware function, when this function gets invoked is now limited to a configurable set of action dispatches. (e.g. `LOGIN`, `CONNECTION_CHANGED`, `WEBSOCKET_SUCCESS`), etc.
* MM-23493 Move app cache purge from store subscription to middleware (#4069)
* MM-23493 Move app cache purge from store subscription to middleware
This commit exposes persistence configuration as a static reference, so that cache purging can be invoked on demand anywhere else in the codebase.
While middleware still may not be the best spot for this singular "action", existing functionality (reacting to `OFFLINE_STORE_PURGE`) is maintained.
The change also removes the need for `state.views.root.purge` to exist in the state tree.
* PR feedback: Inject config dependency for purging app cache
Previously, `middleware` imported the config back from `store` (i.e. cyclic import).
* PR feedback: No need to export config, now that it's passed as argument
* Fix tests after refactoring middleware call from array -> function
* PR feedback: Let parent continue to pass down initial store state
* Port WebSocket from mm-redux and batch actions
* Update mm-redux and fix tests
* Change action name
* Naming batch actions
* Fix unit tests
* Dispatch connection change only if its different
* Remove comment
* Add Lint to TypeScript and fix linting errors
* Add WebSocket Unit Tests
* Revert from unwanted RN 0.62
* Upgrade Navigation library
* Fix background color on Select Server
* Upgrade Navigation library
* Apply patch to nav lib
* Upgrade RNN to 6.1.1
* Update Dependencies
* Feedback review
* Call clearNavigationComponents when reset to channel
* No need to resetToChannel on clearing data
* Don't use componentWillReceiveProps
* Dismiss all modals on iOS too
* Use centerChannelBg when channel as root
* Fix resetToChannel test
* Fix removal of loadChannels call when rebasing with master
* Add new line
* Address PR review comments
* Improve sidebar performance on first load
* Initial work for switch channel
* Revert android changes
* Split Sidebar per Platform
* Fix waitForHydration executing the callback more than once
* Fix custom emoji not showing on Android
* Finalize Channel Switch
* Enable Android Ram Bundles
* Select the right team for lastChannelForTeam
* Channel loading post indicator
* Fix main sidebar base intl provider
* Update mm-redux
* No need to request configAndLicense on launch
* Load channel member roles
* Rename closeChannelDrawer to closeMainSidebar
* do not throw errors when console is called while running tests
* constant for LOADING_POSTS_HEIGHT
* Remove show more if a long post is edited and no longer long
* Update mm-redux#batch-actions branch
* Code review
* Clear notifications if channel was switched
* Import Platform
Co-authored-by: Miguel Alatzar <migbot@users.noreply.github.com>