Commit graph

56 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
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
Miguel Alatzar
b2190b7b9a [MM-22671] [MM-22935] Fetch posts for unread channels on loadChannelsForTeam (#4078)
* Fetch posts for unread channels on loadChannelsForTeam

* Add unit tests

* Remove unneeded setRetryFailed and getState

* Update getChannelSinceValue comment

* Move to post.js and pass in channels and channelMembers

* Exclude current channel

* Address PR review comments

* Fix import

* Fix mm-redux references
2020-04-17 21:29:07 -07: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
Elias Nahum
03d406021f 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-04-17 20:44:25 -07:00
Miguel Alatzar
898b59ab27
Fix app hanging when switching to a team after opening push notification (#4013) 2020-03-05 09:52:56 -07: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
Miguel Alatzar
04210b8a14 [MM-19968] Ensure SELECT_CHANNEL_WITH_MEMBER is dispatched when app opened from a push notification (#3533)
* Dispatch SELECT_CHANNEL_WITH_MEMBER

* Call handleSelectChannel with true when from any push notification

* Always dispatch SELECT_CHANNEL_WITH_MEMBER with passed channelId

* Add missing comma

* Update unit tests

* Fix makrChannelViewedAndRead call
2019-11-12 17:45:11 -05: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
Saturnino Abril
b5e4b5a657
fix channel mention badge and posts after opening the app from push notification (which is initially at closed state) (#2648) 2019-03-16 00:04:30 +08:00
Saturnino Abril
8719d3f227 fix channel mention when app is started from push notification (#2638) 2019-03-11 15:36:02 -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
46b6687d1f Show local notification when replying to PN fails (#2142) 2018-09-21 00:58:21 +08:00
Harrison Healey
34a37cef05 MM-11477 Ensure client calls are wrapped with error handling (#1976) 2018-08-07 13:11:48 -04:00
Saturnino Abril
2fe9d8842a [MM-11492] Add protection in accessing ".team_id" field when it's immediately accessed after the object is created (#1963)
* add protection in accessing ".team_id" field when it's immediately accessed after the object is created.

* remove lastChannelId since lastChannel is being checked already
2018-08-03 10:52:43 -04:00
Saturnino Abril
3a70e5c43f add extra protection to those channel/object followed immediately by accessing its "channel_id" field (#1960) 2018-08-01 13:04:58 -04:00
Chris Duarte
26950abb61 Add deep linking support (#1805) 2018-07-31 08:43:54 -04:00
Elias Nahum
dbb6f16e92
Fetch posts when receive push notifications as soon as possible (#1811) 2018-06-27 12:08:00 -04:00
Elias Nahum
375c41dc3c
Merge branch 'release-1.9' 2018-06-25 15:31:46 -04:00
Elias Nahum
71e16afbb4 Fix bad action when tapping on a push notification (#1822) 2018-06-25 11:44:42 -04:00
Jesse Hallam
8372e95d4a add eslint-plugin-header, and --fix all (#1726) 2018-06-19 19:14:50 -04:00
Harrison Healey
0910bef8ae MM-10372 Get channel if necessary when loading from push notification (#1730) 2018-06-05 15:37:44 -04:00
Chris Duarte
e8712f9199 Cold startup js refactor (#1598)
* Switch to SingleDex and remove all locales

* WIP Mattermost Start Component for lazy loading modules

* Add files changed for native modules

* Add Entry component and app global object

* dispatch setStatusBarHeight for iOS

* Update screen imports

* Include Entry screen

* Refactor app to mattermost.android.js

* Override unnecessary java files

* Fix minor issues in changes

* Display empty state based on user credentials

Also, add proper background theme for empty loading screen

* Add native module constant cache support

* Fix startup theme regression

* Add Keychain support for credentials

* Fix Orientation regression

*  Fix SharedExtension regression

* Emit NATIVE_APP_LAUNCHED across bridge only once during cold start

* Add iOS Support

* Revert to previous implementation of i18n

* Fix styling issues

* Include listener for SERVER_VERSION_CHANGED

* Add SafeAreaView in Entry screen

* Register deviceToken early, in order to get iOS PN Support

* Include StartTimeModule

* Add ReplyFromPush support and remove NATIVE_APP_LAUNCHED listener

* Package native constants in StartTimeModule and avoid bridge calls

* Fix check-style errors

* Code cleanup

* Rename StartTimeModule to InitializationModule

* Remove NavigationApplication

* Documentation and minor changes

* Account for app opening after SharedExtension

* Refactor getIntl to getTranslations

* Move native module constants into it's own forked repos

* Include FetchBlob and DeviceInfo forked repos
2018-05-18 17:13:00 -04: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
83e90596e3
Request data retention policies only when the user is logged in (#1351) 2018-01-15 17:08:56 -03:00
Chris Duarte
7860478d54 Fix notification replies for iOS (#1341)
* Fix notification replies for iOS

* Review feedback

* Review feedback 2
2018-01-15 13:59:25 -05:00
enahum
ac2b38cb3b
Track analytics for start time, channel and team switching (#1192)
* Track analytics for start time, channel and team switching

* Update analytics to include currentUserId and ip 0.0.0.0

* Include diagnostic id with every segment request

* feedback review
2017-11-28 10:33:46 -03:00
enahum
b761872c59 Fix reset to channel view when push notification is tapped (#1201) 2017-11-23 18:48:50 -05:00
enahum
b7fe369fab
Apply data retention policy (#1122) 2017-11-12 08:33:42 -03:00
enahum
9910e3438d
Upgrade RN (#1102) 2017-11-07 13:34:39 -03:00
enahum
f50b1c6ae9 Improve push notification flow (#1044) 2017-10-24 17:03:51 -04: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
enahum
19502f9aaa RN-344 open push notifications faster (#899) 2017-09-13 12:00:33 -03:00
Chris Duarte
bffc75f8d1 RN-223 Emoji picker for adding new emoji reactions (#854)
* RN-223 Emoji picker for adding new emoji reactions

* Remove redundant setServerVersion and fetch custom emojis on reset

* Review feedback

* Review feedback 2

* Review feedback 3

* Review feedback 4

* Change aliases to array and add header to image source

* Remove aliases from custom emojis
2017-08-23 15:29:09 -03:00
enahum
d9b76386c0 RN-288 Add analytics with segment.io (#828)
* Add analytics with segment.io

* Feedback review
2017-08-08 12:43:41 -04:00
Stan Chan
c017afb392 RN-66 Clear cache store (#727)
* RN-66 Clear cache store

* Review feedback
2017-07-07 18:21:48 -04:00
enahum
458a2be333 Fix race condition when selecting channel in PN (#723)
* Fix race condition when selecting channel in PN

* Feedback review
2017-07-07 16:37:31 -04:00
enahum
7dbac06983 Fix sentry found issues (#699) 2017-07-03 18:09:04 -04:00
Harrison Healey
3bb50ff96e Fixed some potential bugs in goToNotification action (#696) 2017-07-03 07:52:27 -04:00
enahum
a22a62fcaa Fix push notification switch channel name (#689) 2017-06-28 12:42:49 -04:00
enahum
fa2218a835 RN-185 ensure leaving channels and teams when the app is closed or disconnected (#617) 2017-06-12 12:03:59 -04:00
enahum
248dafbe0e RN-97 Changed navigation from NavigationExperimental to ReactNative Navigation (#540)
* Add react-navigator dependency

* Add react-native-navigation dependency

* react-native-navigation, ios and android config

* update react-native-navigation

* New navigation and code cleanup

* Set ScreenBackgroundColor

* Fix channel drawer event issue

* Applied RNPN non-working popInitial notification

* Android navbar and back button

* packages and notices

* MM-redux update

* Fix draft on team switch

* Remove custom NavBar
2017-05-16 11:19:46 -04:00
Harrison Healey
43e4c5e2f2 PLT-5860 Updated copyright date (#476) 2017-04-10 11:33:35 -03:00
Chris Duarte
d206ea68de PLT-6173: Offline redux store (#471)
* PLT-6173: Offline redux store

* Review feedback
2017-04-09 21:51:47 -03:00
enahum
422474a0d2 * Fix markdown issue with renderHardBreak's (#438)
* Fix issue when tapping on a push notification
* Fix splash screen dismissal
2017-03-30 23:44:52 -03:00
enahum
e26be5554a PLT 6062 - Fixing Push Notifications (#418)
* PLT-6062 Don't show in-app notification if current channel

* PLT-6131 make drawer titles all caps

* PLT-6027 fix handle Push notifications for DM/GM
2017-03-29 15:32:02 -03:00
Chris Duarte
bc18d60883 Fix login transition (#410)
* Fix login transition

* Add instant transition to modal

* Fix transition to show loader on first login

* Add loader to load_team

* Remove back button
2017-03-28 23:59:01 -03:00
enahum
548633f5c0 PLT-5857 replace the service folder with mattermost-redux library (#348) 2017-03-14 10:52:24 -03:00
enahum
6324f22095 PLT-5630 Implement push notifications and unread badge on app icon (#338)
* enable ios push notifications

* enable android push notifications

* NOTICE for push notification and message bar

* include message in noty

* re-wording notices

* feedback review
2017-03-13 09:51:21 -04:00