Commit graph

90 commits

Author SHA1 Message Date
Elias Nahum
8e314022ca
MM-24285 Use FastImage instead of Image (#4218)
* 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
2020-04-28 11:36:32 -04:00
Miguel Alatzar
e1a9c47a58
[MM-24426] [MM-24451] Set previous app version in redux store (#4197) (#4219)
* Set previous app version in redux store

* Handle setting previousVersion on login and clearing data

* Set previous version on logout instead

* Remove action arg
2020-04-23 12:56:26 -03:00
Elias Nahum
0e2bc65d70
MM-23848 consolidate store, upgrade mmkv and fix logout (#4145)
* MM-23848 consolidate store, upgrade mmkv and fix logout

* Feedback review

* Add store.ts to modulesPath
2020-04-18 10:18:24 -04:00
Miguel Alatzar
9a0bce5b6d [MM-23698] [MM-19559] Remove redux-offline and updated redux-persist (#4120)
* 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>
2020-04-17 22:30:27 -07:00
Amit Uttam
a8147a1697
[MM-23490] Save state to file via async middleware vs store subscription (#4059)
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
2020-04-18 01:32:47 -03:00
Miguel Alatzar
2d81b497cf [MM-23520] Port mattermost-redux (#4088)
* Remove mattermost-redux

* Move mm-redux files into app/redux

* Add @redux path to tsconfig.json

* Fix imports

* Install missing dependencies

* Fix tsc errors

* Fix i18n_utils test

* Fix more imports

* Remove redux websocket

* Fix tests

* Rename @redux

* Apply changes from mattermost-redux PR 1103

* Remove mattermost-redux mention in template

* Add missing imports

* Rename app/redux/ to app/mm-redux/

* Remove test file

* Fix fetching Sidebar GM profiles

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2020-04-17 21:12:09 -07:00
Mattermost Build
d100c7d95d
Automated cherry pick of #4072 (#4172)
* MM-22292 Don't use redux to store username and password

* Set login and password MFA props

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2020-04-17 20:53:48 -07:00
Amit Uttam
844d81072f
Revert "[MM-23490] Save state to file via async middleware vs store subscription (#4059)"
This reverts commit 1d7149a26d.
2020-04-17 20:59:46 -03:00
Amit Uttam
1d7149a26d
[MM-23490] Save state to file via async middleware vs store subscription (#4059)
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
2020-04-17 20:37:13 -03:00
Elias Nahum
b8562e956b
MM-22975 Fix archive handle when server does not allow view archive channel (#4019)
* MM-22975 Fix archive handle when server does not allow vieweing an archive channel

* Update mm-redux ref
2020-03-09 17:06:02 -03:00
Elias Nahum
334a07aabe
Performance improvements (#3911)
* 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>
2020-02-17 21:18:09 -07:00
Elias Nahum
7c09334dc4
Deps update (#3806)
* Dependecy updates

* Update dependencies
2020-01-20 13:20:03 -03:00
Miguel Alatzar
a58ebad7b1 [MM-18177] Increase post visibility when creating/receiving a new post for the current channel (#3662)
* Increase post visibility for current channel on new post

* Increase post visibility after post creation
2019-12-08 15:30:24 -03:00
Harrison Healey
10c3ede26e Revert "Revert accidentally merged changes from mark-as-unread branch (#3405)"
This reverts commit 00356ad543.
2019-10-11 16:10:57 -04:00
Harrison Healey
00356ad543
Revert accidentally merged changes from mark-as-unread branch (#3405)
* Revert "Update mattermost-redux"

This reverts commit 04b3897ecb.

* Revert "[MM-17068] Add set post as unread option to menu (#3202)"

This reverts commit c7a29eea6a.
2019-10-11 09:28:09 -04:00
Guillermo Vayá
c7a29eea6a [MM-17068] Add set post as unread option to menu (#3202)
* [MM-17068] Add set post as unread option to menu

* [MM-17068] Fix tests

* [MM-17068] add english assets

* [MM-17068] Add bookmark icons for marking as unread

* [MM-17068] reorder menu items

* [MM-17068] fix snapshots

* [MM-17068] merge my post options and others post options
2019-09-13 14:53:18 -04:00
Harrison Healey
0ff6dba3c8
MM-16477 Check for modified users on reconnect (#2936)
* MM-16477 Move websocket status to redux

* MM-16477 Check for modified users on reconnect

* Update mattermost-redux

* Update mattermost-redux
2019-07-02 14:20:48 -04:00
Elias Nahum
9f88923656
Place the new message indicator at the top of the screen (#2943)
* Place the new message indicator at the top of the screen

* Add unit tests for channel postVisibility reducer
2019-07-02 12:28:13 -04:00
Elias Nahum
29240b9c6f
MM-16061 Keep unread channels in place on Tablets (#2865) 2019-06-06 15:15:40 -04:00
Elias Nahum
a0a1fa28ce
MM-13896 Sync channel as read between clients (including opening Push Notifications) (#2548)
* Update mattermost-redux to use latest WS changes

* Properly mark channel as read, keep the new message indicator, and fix push notification flow

* unneeded parameter in setCurrentUserStatusOffline

Co-Authored-By: enahum <nahumhbl@gmail.com>

* Feedback review

* Update mm-redux ref
2019-02-16 15:09:22 -03:00
Elias Nahum
fa12bb18ad
MM-13431 Fix load more posts (#2452)
* Load more posts of a channel by determining the amount of posts shown regardless of how many are in the store

* Feedback review

* do not combine posts when fetching them
2018-12-13 08:38:23 -03:00
Elias Nahum
19a755d59f Fix when message have multiple actions (#2331)
* Fix when message have multiple actions

* Feedback review
2018-11-09 18:38:58 -05:00
Joram Wilander
10a1e93e7d MM-12348 Persist interactive menu choices past channel switch and share with thread view (#2207)
* Persist interactive menu choices past channel switch and share with thread view

* Remove unneeded async
2018-10-03 15:08:05 -03:00
Joram Wilander
ef3ba7eb00
MM-11934 Add interactive action menus (#2099)
* Add interactive action menus

* Add snapshot tests

* Updates per feedback

* Update styling of menu action

* Updates per feedback

* Update submitted message color

* Update snapshots
2018-09-20 14:01:51 -04:00
Saturnino Abril
669f0ea1cd use profile image from local after editing a profile image (#1990) 2018-08-16 06:57:23 -07:00
Chris Duarte
26950abb61 Add deep linking support (#1805) 2018-07-31 08:43:54 -04:00
Jesse Hallam
8372e95d4a add eslint-plugin-header, and --fix all (#1726) 2018-06-19 19:14:50 -04:00
Elias Nahum
7db7a311f1
MM-10300 Fix crash when leaving channel (#1606) 2018-04-24 08:01:55 -03:00
Elias Nahum
006c5a08d7
Use local Images when possible (#1580)
* Fix advance settings android layout

* include react-native-image-gallery dependency

* ImageCacheManager

* Add support for isGif, isDocument, isVideo and purge to file utils

* Remove file fetch cache

* include progressive image component

* Refactor image previewer

* Add image preview support for open graph and embed images

* Cache user profile picture

* Fix post additional content images for android

* Preview markdown inline images

* Improve progressive image

* feedback review
2018-04-13 12:23:15 -03:00
Chris Duarte
676a180067 Fix press username to mention (#1547)
* Fix press username press to mention

* Add cursorPosition to post_textbx state

* Remove unneeded draftSelectionChanged actions and events
2018-04-13 11:15:19 -04:00
Elias Nahum
e20b84c6d8 Upload progress indicator (#1562)
* Long post support

* Split file upload component

* Use fetch blob fork

* add progress to file upload

* Remove SERVER.PID from Makefile

* Preview only images

* remove unused prop
2018-04-04 09:14:26 -04:00
Harrison Healey
1fd94c5ae0 Cherry pick fixes for Sentry issues (#1567)
* Fixed MATTERMOST-MOBILE-ANDROID-85 (#1565)

* Fixed MATTERMOST-MOBILE-ANDROID-87 (#1566)
2018-04-02 23:23:48 +03:00
Jesse Hallam
58b72302d6 update eslint's comma-dangle rule to always-multiline (#1457)
* update eslint's `comma-dangle` rule to `always-multiline`

* add check and fix scripts to package.json

* Invoke `yarn fix` to adopt the updated eslint rules. No other changes are included.
2018-02-23 09:06:02 -05:00
Joram Wilander
84a2a0fab8
ABC-123 Add handling for loading custom emojis asynchronously (#1406)
* Add async handling of custom emoji to posts and channel info

* Add server request to emoji autocomplete

* Add custom emoji paging and server search to emoji picker

* Fix android

* Update mattermost-redux and revert temp change

* Backwards compatibility fixes

* Updates per feedback

* Set server version when user is not logged in

* Reset section index when search is cleared or cancelled

* Some small fixes and upgrade mattermost-redux

* Minor sorting changes
2018-02-15 17:38:45 -05:00
enahum
27c764d288 [ICU-579] Display Announcement banner (#1428)
* Announcement banner

* Feedback review
2018-02-13 10:23:11 -05:00
Harrison Healey
a6d9632cad
ICU-562 Explicitly store whether or not 'load more posts' should be visible (#1379) 2018-01-26 11:29:28 -05:00
enahum
926ffe96c5
Android share extension (#1352)
* Android share extension

* Feedback review

* Feedback review
2018-01-17 18:17:02 -03:00
enahum
849c8cc4af
Clear failed images from post draft when posting (#1244)
* Clear failed images from post draft when posting

* feedback review

* clone files array only once in the failed reducer
2017-12-04 12:06:16 -03:00
Chris Duarte
e345ee1e7b Add recently used section (#1136)
* Add recently used section and section icons

* Improve section scrolling indication

* Modify Makefile and use onMomentumScrollEnd

* Make sure top section maintains highlight when scrolled to top

* Sort emojis by startsWith then includes when filtering
2017-11-21 10:20:09 -05:00
enahum
3fdfe92800 Data cleanup (#1070)
* Add message retention middleware and config

* Data cleanup middleware
2017-10-30 11:23:19 -04:00
Chris Duarte
9ff9b872ba Config to enable when clicking on username to fill input with @mention (#966)
* Config to enable when clicking on username to fill input with @mention

* Rename to experimental and move tenary from componet to variable

* Use getCurrentChannelId in insertToPostDraft action

* Change to work with rebase

* Refactor thread reducer and blacklist currentThreadId

* Review feedback

* Review feedback 2
2017-10-26 10:48:52 -04:00
Chris Duarte
54ddec3d46 Prompt/require user to upgrade to new version (#948)
* Prompt/require user to upgrade to new version

* Update en.json

* Update app message text

* Fix typo and add copyright
2017-10-26 10:45:34 -04:00
enahum
f50b1c6ae9 Improve push notification flow (#1044) 2017-10-24 17:03:51 -04:00
enahum
dabad3eca6 Improving Performance Part 1 (#1009)
* Dispatch retry failed action | fix refreshing state | change postVisibility to 15

* Improve channel switching

* Improve handling of visible tooltip

* Improve watching for status bar height changes

* Remove unnecessary mapStateToProps from code screen

* Use drawer native functions to open/close instead of state

* Feedback review
2017-10-11 14:33:26 -03:00
Harrison Healey
61b80e10ba RN-379 Get posts since last websocket disconnect when viewing channel (#971)
* RN-379 Added websocket state to device state

* Fixed view store blacklist

* RN-379 Get posts since last websocket disconnect when viewing channel

* Used Date.now instead of new Date().getTime()
2017-10-02 16:03:13 -03:00
enahum
fb773f04cb Multiple performance improvements (#956)
* Update fastlane

* Multiple performance improvements

* Feedback review

* Feedback review
2017-10-02 16:03:13 -03:00
Harrison Healey
98abbd6dca RN-345 Additional improvements to channel switching (#926)
* RN-345 Only show refreshing indicator when channel is actually refreshing

* Added getCurrentLocale selector

* Added SwitchTeams component to channel drawer to reduce rerenders

* Reduced number of props passed from ChannelsList into children

* Removed unused prop from FilteredList

* Moved visible post calculation out of render function

* Don't set the channel to loading when not switching channels

* Added most of channel view state to blacklist
2017-09-22 11:48:30 -07:00
enahum
4995a76f2c Add Landscape support for both platforms (#909)
* Landscape support

* Fix image rotation on Android

* Fix landscape mode for login and login options

* Fix previewer will receive props

* Move device dimensions and others to redux

* Fix unit tests

* Include orientation and tablet in the store
2017-09-20 12:54:24 -07:00
Chris Duarte
fd0ca606bb Use post retry actions to avoid missing messages (#796)
* Use post retry actions to avoid missing messages

* Review feedback

* Fix race condition and update redux-offline

* Review feedback
2017-08-01 19:09:57 -04:00
enahum
dc8b9a04b1 RN-10 Ability to search Posts (#763)
* Fix offline indicator UI

* Add search screen with recent mentions functionality

* Fix make start

* Add autocomplete to the search box

* Fix search bar in other screens

* Get search results and scroll the list

* Add reply arrow to search result posts

* Search result preview and jump to channel

* Feedback review
2017-07-21 17:07:47 -04:00