Rocket.Chat.ReactNative/app/utils
Djorkaeff Alexandre e2f17a5a23
[NEW] Encrypt user credentials and preferences (#2247)
* install react-native-mmkv-storage

* wip ios migration

* change all js rn-user-defaults -> react-native-mmkv-storage

* remove all rn-user-defaults native references (iOS)

* android migration from rn-user-defaults to react-native-mmkv-storage

* ios app group accessible mmkv

* handle get errors

* remove access of credentials from legacy native apps

* remove data of user defaults

* remove no longer necessary import

* js mmkv encryption

* run migration only once

* reply from notification android

* fix app group key access at native level ios

* encrypt user credentials using a specific key

* ios encrypt with random key

* use a random key at the first encryption

* encrypt migrated data on js land

* remove unused function

* reply notifications ios should be working

* use fix instanceID

* android ejson retrieve encrypted data

* remove encryption migrated data for a while

* encryption working between app and share extension

* fix patch react-native-notifications

* ssl pinning working using mmkv encrypted data

* improve react-native-notifications

* run encrypt migration data only once

* fix build

* fix patches magic string

* fix mmkv id

* mmkv -> userPreferences

* fix instance id on android migration

* cast our oldest sharedPreferences string into an object

* revert log remove

* create currentServer Rocket.Chat key

* wrap mmkv api class

* change the get logic

* move userPreferences to lib

* move encrypt migrated data to userPreferences class

* check if the new object is new before insert

* invalidate ci yarn cache

* fix sort migration from android shared preferences

* fix splashscreen forever

* invalidate yarn cache

* invalidate yarn cache

* fix patch

* Minor change

* fix android notifications looking for wrong mmkv instance

* Fix some issues on iOS mmkv native access

* Remove unnecessary code

* Fix notification reply and ssl pinning

* WIP NotificationService use MMKV credentials

* Add KeychainGroup

* Notification idOnly get credentials from mmkv

* Some fixes

* Invalidate yarn cache

* Pods

* Use MMKVAppExtension on NotificationService

Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-08-19 14:14:22 -03:00
..
log [NEW] Log remaining events (#2368) 2020-08-05 10:15:56 -03:00
navigation [FIX] Android stack animation throwing illegal node ID (#2260) 2020-07-08 16:38:36 -03:00
shortnameToUnicode [FIX] Remove unrecognized emoji flags on android (#1887) 2020-03-17 17:19:18 -03:00
avatar.js [NEW] Create discussions (#1942) 2020-03-30 16:50:27 -03:00
debounce.js [WIP] Improves (#245) 2018-03-02 21:31:44 +00:00
deviceInfo.js [CHORE] Update react-navigation to v5 (#2154) 2020-06-15 11:00:46 -03:00
events.js [CHORE] Bugsnag logging setup (#1145) 2019-08-23 10:18:47 -03:00
fetch.js [IMPROVEMENT] Change server while connecting/updating (#1981) 2020-05-05 10:11:28 -03:00
goRoom.js [CHORE] Update react-navigation to v5 (#2154) 2020-06-15 11:00:46 -03:00
info.js [NEW] Confirm logout/clear cache (#1688) 2020-02-10 11:53:42 -03:00
isReadOnly.js [NEW] Send multiple attachments (#2162) 2020-06-26 17:22:56 -03:00
isValidEmail.js Use Rest API calls (#558) 2018-12-05 18:52:08 -02:00
layoutAnimation.js [FIX] Watermelon throwing "Cannot update a record with pending updates" (#1754) 2020-03-02 17:12:41 -03:00
localAuthentication.js [NEW] Encrypt user credentials and preferences (#2247) 2020-08-19 14:14:22 -03:00
media.js [NEW] Send multiple attachments (#2162) 2020-06-26 17:22:56 -03:00
messageTypes.js [NEW] Filter system messages per room (#1815) 2020-03-06 11:19:03 -03:00
moment.js [FIX] Moment locales (#1066) 2019-07-23 11:07:18 -03:00
openLink.js [NEW] Encrypt user credentials and preferences (#2247) 2020-08-19 14:14:22 -03:00
random.js [NEW] OAuth (#241) 2018-02-23 17:29:05 -03:00
review.js [NEW] Log events from Room, Settings and Edit status (#2206) 2020-07-30 16:51:13 -03:00
room.js [FIX] Lint (#2030) 2020-04-13 10:56:30 -03:00
scaling.js [NEW] Tablet support (#1300) 2019-11-25 17:01:17 -03:00
scrollPersistTaps.js Emoji picker (#185) 2018-01-16 16:48:05 -02:00
server.js [NEW] Support client certificates for SSL (two-way authentication) (#1125) 2019-09-02 13:19:05 -03:00
theme.js [FIX] Wait attach activity before changeNavigationBarColor (#2111) 2020-05-13 17:26:26 -03:00
throttle.js Beta (#265) 2018-04-24 17:08:17 -03:00
touch.js [NEW] Themes (#1298) 2019-12-04 13:39:53 -03:00
twoFactor.js [NEW] Two Factor authentication via email (#1961) 2020-04-01 17:32:24 -03:00
url.js [NEW] Delete Server (#1975) 2020-05-04 17:20:45 -03:00