Commit graph

34 commits

Author SHA1 Message Date
Miguel Alatzar
7afa9aed01
[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-08 13:44:54 -07:00
Amit Uttam
725992941c
[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-03-31 20:01:13 -07:00
Elias Nahum
10d433cfab
Port WebSocket from mm-redux and batch actions (#4060)
* 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
2020-03-26 21:23:50 -03: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
Miguel Alatzar
45e5bae8da
Avoid possible reading of length property on undefined (#2783) 2019-05-10 09:34:23 -07:00
Harrison Healey
9c53852128
Reorganize post state and make postsInChannel into a sparse array (#2693)
* MM-13957 Reorganize post actions (#2553)

* MM-13957 Reorganize post actions

* Update mattermost-redux

* Update mattermost-redux

* Update package-lock.json to resolve build issues

* MM-13958/MM-13959 Make postsInChannel into a sparse array (#2600)

* MM-13960 Re-add combined system messages (#2637)

* MM-13960 Re-add combined system messages

* Pass entire post to PostOptions

* Update mattermost-redux

* Update mattermost-redux

* Address feedback

* Update mattermost-redux
2019-04-15 17:20:23 -04:00
Elias Nahum
e960d37cdc
MM-14459 Ensure hydrationComplete is set to true when resetting the cache and logging out (#2664) 2019-03-23 11:07:43 -03:00
Elias Nahum
9db040bcf7
Retry fetching teams if no teams are found (#2288)
* Retry fetching teams if no teams are found

* Remove flow
2018-10-27 00:50:19 -03:00
Elias Nahum
01792f2b54
Handle bad state (#1903)
* Upgrade mattermost-redux

* Check if url start with http before pinging

* Remove required status prop in settings sidebar

* Prevent the app to get into a bad state and if that happens try and recover
2018-07-09 18:33:13 -04:00
Elias Nahum
07367aa802
Merge branch 'release-1.9' into merge-1.9 2018-07-03 11:24:02 -04:00
Elias Nahum
8c066e0ba3 Attempt to fix some crashes (#1860)
* Attempt to fix some crashes

* remove unnecessary shareExtensionData middleware
2018-07-03 10:14:55 -04:00
Elias Nahum
7b18047800
CBA support for iOS (#1767)
* CBA Support

* cba support for iOS Share extension

* Autologin with credentials

* Set initial config for ExperimentalClientSideCertEnable as false

* Fix mattermost-redux to cba branch

* feedback review

* Fix eslint
2018-06-19 19:35:42 -04:00
Jesse Hallam
8372e95d4a add eslint-plugin-header, and --fix all (#1726) 2018-06-19 19:14:50 -04:00
Jesse Hallam
210b3512b1 MM-10460: avoid double post on restore (#1667)
* add test to messageRetention to verify outgoing action type

* ensure messageRetention passes the original action type through

* fix linting issues
2018-05-15 11:39:35 -04:00
Jesús Espino
f4d1294ae0 MM-10454: Adding roles to the cleanup middleware (#1661) 2018-05-14 09:12:29 -04:00
Elias Nahum
484a5a11f9 Flagged Posts and Recent Mentions (#1584)
* Fix reply count in post header

* Make channel loader to trigger manually

* post list selector for search

* Include date separators in search results

* Flagged posts

* Recent Mentions

* Retry option for flagged posts and recent mentions

* feedback review

* Update mattermost-redux
2018-04-13 10:26:37 -04:00
Elias Nahum
78d223b611
Fix posts in thread (#1572)
* Fix posts in thread

* include postsInThread in initial state
2018-04-05 23:13:07 +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
enahum
7f02889efc Add defensive code for pendingPostIds (#1435) 2018-02-15 17:36:57 -05:00
enahum
27c764d288 [ICU-579] Display Announcement banner (#1428)
* Announcement banner

* Feedback review
2018-02-13 10:23:11 -05:00
enahum
b53f3988b8 [ICU-680] Fix Duplicate posts (#1430) 2018-02-12 14:44:34 -05:00
enahum
89e0623e6e Improvements on iOS Share Extension (#1407)
* Improvements on iOS Share Extension

* Switch NSUserDefaults with a file based solution

* create a new entities object instead of mutating

* Clarify the function for requiring emm authentication

* ensure entities is not a shallow copy
2018-02-02 16:48:09 -05:00
enahum
70c4e3e005
iOS Share Extension (#1308)
* objective-C share extension

* MattermostBucket module to share data between the main app and the extension

* middleware that shares the data between the main app and the extension

* Fix setState when safe area in unmounted

* Share extension for iOS

* Fastlane changes to include iOS share extension

* Fix unit test

* Feedback review

* define proptypes for icons
2018-01-15 16:11:42 -03:00
Harrison Healey
84fdc24bc5 RN-523 Added a try-catch when cleaning up state following a rehydrate (#1342) 2018-01-09 07:56:42 -08: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
073ddc9d44 Keep search results on data cleanup (#1147) 2017-11-15 09:52:25 -05:00
enahum
5fb9390759
IOS Version Bump to 64 (#1142)
* Update Mattermost redux (#1086)

* Fix middleware

* Upgrade mattermost-redux

* another middleware fix

* Bump app version to 1.4.1

* Version Bump to 64
2017-11-14 11:06:18 -03:00
enahum
b7fe369fab
Apply data retention policy (#1122) 2017-11-12 08:33:42 -03:00
Harrison Healey
e18aea8f9a RN-474 Fixed resetStateForNewVersion not working if upgrading from version without search state (#1117) 2017-11-09 12:47:21 -03:00
Elias Nahum
c8e7c2deb1 Keep post openGraph data 2017-11-06 14:29:02 -03:00
enahum
7c8f735b3b
Merge Build 62 into master (#1090)
* Use ImageBackground for youtube videos instead of nested Images

* Fix bugs reported by sentry (#1081)

* Update Mattermost redux (#1086)

* Fix middleware

* Upgrade mattermost-redux

* another middleware fix

* RN-456 when a channel is left we update content and title (#1087)

* Version Bump to 62 (#1088)

* Version Bump to 62 (#1089)
2017-11-02 17:53:20 -03:00
enahum
da461ca35d Keep user statuses for current channel and all post visibilities (#1080) 2017-11-02 08:37:08 -03:00
enahum
2641ec96fb Perform validations to avoid crash on data cleanup (#1075)
* Perform validations to avoid crash on data cleanup

* Remove postId from postsInChannel
2017-11-02 08:37:08 -03:00
enahum
3fdfe92800 Data cleanup (#1070)
* Add message retention middleware and config

* Data cleanup middleware
2017-10-30 11:23:19 -04:00