Commit Graph

190 Commits

Author SHA1 Message Date
Alex Junior b3028b7c29
chore: Change the lib `@types/url-parse` to devDependencies (#3585) 2022-01-11 11:37:25 -03:00
Gleidson Daniel Silva d7dd557b6b
Chore: Update React Native Device Info to 8.4.8 (#3560) 2022-01-11 11:30:32 -03:00
Gleidson Daniel Silva 01d22ed96b
Chore: Migrate Redux to Typescript PoC (#3565) 2022-01-11 10:48:01 -03:00
Diego Mello 404c7cff07
[IMPROVE] Connection stability (#3531) 2021-12-07 17:05:30 -03:00
Reinaldo Neto cedca3f0bf
Chore: Migrate JitsiMeetView to Typescript (#3498)
Co-authored-by: Diego Mello <diegolmello@gmail.com>
2021-11-17 17:13:06 -03:00
Alex Junior c216544cc4
[NEW] Preview or download attachments (#3470)
Co-authored-by: Diego Mello <diegolmello@gmail.com>
2021-11-16 12:59:58 -03:00
Reinaldo Neto 744893fa31
Chore: Migrate AuthenticationWebView to Typescript (#3441)
* Chore: Migrate AuthenticationWebView to Typescript

* minor tweak

* added @types/url-parser
2021-10-20 15:00:35 -03:00
Gerzon Z 76a99519ec
[NEW] Support new message parser (#3313)
* Add message parser to profile view and db

* Add md to db

* Remove changes to Xcode project

* Remove message-parser lib and add enable message parser field to User model

* Fix message parser

* Remove admin enableMessageParserEarlyAdoption

* Add NewMarkdown component

* Remove NewMarkdown component and add specific components for new message parser

* Add new parser components

* Fix BigEmoji

* Updated components and added more Code components

* update components and add storybooks

* Update Code component and add it to storybooks

* Update Mention component

* Minor tweaks

* Add server message parser validation

* Renamed folder, add @rocket.chat/message-parser, migrate some files to TypeScript

* Migrate components to TypeScript and fix styling

* Change interfaces and add TaskListComponent and styles

* Fix new markdown and styles

* Fix inlinecode

* Stop using server setting

* Use enableMessageParserEarlyAdoption on mapStateToProps

* Remove React.FC

* add link to bold, italic and strike

* Update parser components

* Fix missing components

* Minor tweak

* Fix lint and add getCustomEmojis

* Fix customEmojis

* Update emojis

* Minor tweak

* disconnect markdown from store

* Use @rocket.chat/message-parser@0.30.0

* Fix link style

* Unify lists and styles

* Remove style prop

* Use big emoji as a normal token

* Remove unnecessary memo

* Fix code styles

* Update tests

* Conditionally create renderer

* Use Context instead of prop drill

* Fix Link component

* Fix plain text regression and update tests

Co-authored-by: Diego Mello <diegolmello@gmail.com>
2021-10-20 13:32:58 -03:00
Alex Junior f5058a51c0
Chore: Update Expo libs (#3433)
* chore: update the libraries `expo-av` and `expo-keep-awake`

* chore: update the library `expo-file-system`

* chore: update the library `expo-haptics`

* chore: update the library `expo-local-authentication`

* chore: update the library `expo-video-thumbnails`

* chore: update the library `expo-web-browser`

* chore: update the library `expo-apple-authentication`

* chore: update the library `react-native-unimodules`
2021-10-14 16:37:29 -03:00
Alex Junior dffa634beb
Chore: Remove eslint-config-airbnb (#3409)
Co-authored-by: Diego Mello <diegolmello@gmail.com>
2021-10-06 18:11:07 -03:00
Alex Junior ada2aed90b
Chore: Update Android SDK TARGET to 30 (#3363) 2021-10-06 17:35:19 -03:00
Diego Mello 8de6adcf79
Chore: Update WatermelonDB to 0.23.0 (#3386) 2021-10-01 17:35:13 -03:00
Gerzon Z f196a7afaf
Chore: Update Reanimated to 2.2.2 (#3341)
* Update reanimated to 2.2.0

* Podfile and Manifest

* Update MainApplication.java

* Merge develop to branch

* Update yarn.lock

* Run yarn

* Other fixes

* Fix for Android build https://github.com/software-mansion/react-native-reanimated/issues/2412#issuecomment-917958173

Co-authored-by: Diego Mello <diegolmello@gmail.com>
2021-10-01 17:34:25 -03:00
Diego Mello 9ed6a3ee5a
Fix: @rocketchat/sdk not fetching correct commit (#3384)
Co-authored-by: AlexAlexandre <alexalexandrejr@gmail.com>
2021-09-15 11:56:56 -03:00
Alex Junior 69a67ea998
Chore: Start Typescript migration (#3279) 2021-09-13 17:41:05 -03:00
Diego Mello 2c31fc2b84
Chore: Update Jitsi to 3.6.0 (#3292)
* Fix RN deps

* Update react-native-jitsi-meet

* Working on iOS from Jitsi source

* Dependencies installed

* Temp android

* Kinda working android

* Working on iOS with our SDK

* Use our maven repo

* Fix temp maven url

* Cleanup

* Fix maven url

* Bring chat back

* Add activity indicator

* Update react-native-jitsi-meet

* Fix loading on iOS

* Clear gradle cache

* Try 3.6.0

* Dummy change to update gradle cache

* Point to merged forks

* update pod commit
2021-08-30 11:27:02 -03:00
Gerzon Z 0a55467858
Regression: Orientation lock on Android not working (#3345)
* Update MainApplication.java

* Update MainApplication.java

* Downgrade react-native-orientation-locker

* Pods

Co-authored-by: Diego Mello <diegolmello@gmail.com>
2021-08-27 16:56:48 -03:00
Diego Mello fb0a4ed266
Chore: Update Bugsnag (#3300)
* Remove bugsnag-react-native

* Really remove bugsnag from android

* Install @bugsnag/react-native

* Logging error on Android correctly

* Cleanup

* Fix bugsnag mock

* iOS builds

* Fix CI mistake

* Upload dSYMs to Bugsnag

* Upload source maps automatically on iOS

* Cleanup

* Enable Bugsnag on share extension

* Add test error

* Use large macos

* Bump to 4.19.0 temporarily to test on TestFlight official

* Use temp keys

* Fix upload source maps for Official iOS build

* Remove tests

* Set version back to 4.18.0
2021-07-28 17:36:06 -03:00
Diego Mello 91f770cd37
Chore: Update React Native to 0.64.2 (#3245)
* Update non-dev patches

* Update dev patches

* Update minors

* Update dev minors

* Update few non semver

* Cookies

* datepicker, netinfo, base64 and bootsplash

* Patch cookies

* Update navigation

* Device info

* mocha

* localize

* react-native-picker-select

* vector icons, xregexp, popover

* try save husky

* document picker

* Remove emotion dev

* Downgrade some libs and make sure jest is passing

* Update storybook to stable

* mocha, axios, bootsplash

* Update lint job to node 15

* Update android image to api 29 and xcode to 12.4

* building

* Fix lint

* Get rid of Storybooks errors

* Patch react-native-simple-crypto

* Remove pods from git

* Stash simple crypto

* Stash Flipper

* Remove single crypto patch

* Add manage-pods command

* Update Xcode to 12.5.0

* Fix E2E tests

* Cleanup podfile

* Fix Storybook

* Remove RN patch

* Fix iOS build release

* Fix cocoapods cache on CI

* Try to fix pods using bundle

* Update gems

* Add app_store_connect_api_key env to CI

* APP_STORE_CONNECT_API_KEY -> APP_STORE_CONNECT_API_BASE64

* Rollback to older usage of app_store_connect_api_key

* tmp

* Run manage-pods on TestFlight

* Use Podfile instead of Podfile.lock for cache

* Increase no_output_timeout from 20 minutes to 40

* Restore node modules on upload-to-testflight

* Add pod install to docs
2021-07-21 12:50:39 -03:00
Diego Mello 3d5e69b8a1
Chore: Update dependencies (#3206)
* Update non-dev patches

* Update dev patches

* Update minors

* Update dev minors

* Update few non semver

* Cookies

* datepicker, netinfo, base64 and bootsplash

* Patch cookies

* Update navigation

* Device info

* mocha

* localize

* react-native-picker-select

* vector icons, xregexp, popover

* try save husky

* document picker

* Remove emotion dev

* Downgrade some libs and make sure jest is passing

* Update storybook to stable

* mocha, axios, bootsplash

* Update lint job to node 15
2021-07-20 10:23:29 -03:00
Gerzon Z 3f4fa04f04
[CHORE] Update Detox to 18.10.0 (#3052)
* Updated detox and 5 tests

* Update e2e cases for Detox v18, update setUserStatus and added SET_STATUS_FAIL

* Downgrade mocha

* Exclude arm64 from building and update tests cases

* Update more tests cases, add registeringUser4

* Update more test files and add room-actions-scrollview testID

* Update package.json

* Remove unused username from test file and update 08-roominfo test file

* Fixing

* Mark as unread

* Fixing flaky tests

* Minor fixes

Co-authored-by: Diego Mello <diegolmello@gmail.com>
2021-04-19 11:31:43 -03:00
Gerzon Z b2c200a5d1
[IMPROVEMENT] Message attachment colors (#2860)
* Added convertStrToHex function and updated Reply component

* Removed convertStrtToHex function and added attachmentBackground

* Added color2k, removed transparent view and applied transparentize to backgroundColor

* Added stories

* Update Reply stories

* Update Reply stories

* Fix lint

* Update Reply stories

* Fix props

* Move tests to Message stories

Co-authored-by: Diego Mello <diegolmello@gmail.com>
2021-03-18 10:13:44 -03:00
Diego Mello cc8dc6a75a
[FIX] Deep linking and other connectivity issues (#2894)
* Navigate from push notification only if necessary

* Use JS SDK branch

* Stop reconnecting if it's already connected

* Fix RoomsListView forever loading after tapping push notification of another server

* Execute fewer operations on app/index

* Remove roomsRequest call from onForeground

* Apply check and reopen

* Stop opening in-app notification when the app is on backgorund

* Connecting tweaks

* Fix deep linking not working if the app is on background

* Force reset yarn cache

* Upgrade JS SDK

* Remove listener on unmount

* Fix resume on Android after back button is pressed

* Fix local authentication resume

* Fix back button android

* Change JS SDK branch
2021-03-05 13:10:21 -03:00
Gerzon Z d6da8665c6
[IMPROVEMENT] Remove lodash.isEqual (#2893)
* Added dequal and react-fast-compare as substitutes to lodash.isEqual

* Update ReplyPreview.js

* Remove react-fast-compare

* Removed deep-equal and upgrade babel-eslint dev dependency

* Fix avatar

* Fix Messagebox

* Fix CreateDiscussionView

* ModalBlockView

* NewMessageView

* ProfileView

* RoomInfoEditView

* ServerDropdown

* Return local search as object instead of observable

* SelectedUsersView

Co-authored-by: Diego Mello <diegolmello@gmail.com>
2021-02-26 13:01:45 -03:00
Billy Newman 3532cb349c
[FIX] Webview not falling back to default auth challenge when no cert is provided (#2918)
* [FIX] Android - fallback to default auth challenge handling when no cert is provided

* If a certificate auth challenge is requested on Android the webview will hang if no certificate is loaded.
  To prevent this, fallback to default Android behavior and cancel the challenge with request.cancel()

* No client certificate case defaults to super implementation

* Update react-native-webview

* Downgrade to previous dependency version

Co-authored-by: Diego Mello <diegolmello@gmail.com>
Co-authored-by: Gerzon Z <gerzonc@icloud.com>
Co-authored-by: Jan Garaj <jan.garaj@gmail.com>
2021-02-22 18:36:10 -03:00
Diego Mello acd5f04314
[FIX] Share extension memory issues on iOS (#2845)
* Remove unnecessary class prop

* Stop rendering servers when there's only one

* Map and alloc only necessary columns from query

* Fetch servers count instead of all servers records

* Fetch only needed servers

* Separators

* Remove renderContent

* Minor fix

* Refactor query

* Smaller avatars in memory

* Fix getItemLayout

* Add topic

* Load less pods

* tests

* Import only used functions from lodash

* Fix pods

* Import only used functions from semver

* Fix media sharing

* Update pods

* Disables preview and thumb on iOS

* Update expo-video-thumbnail

* Unnecessary change
2021-02-01 14:18:55 -03:00
Diego Mello b77603c729
[FIX] Messagebox tracking lost on pop gesture navigation (#2799)
* Use setTimeout instead of InteractionManager

* Update tracking lib
2021-01-15 11:14:25 -03:00
Diego Mello 32b1b36e48
[FIX] Share Extension hitting memory limit on iOS (#2788)
* [FIX] Disallow swipe to dismiss on share extension

* Limit query to 20 and clean up props

* Remove rn-extension-share branch pointer

* Test new branch

* Remove branch
2021-01-13 17:22:44 -03:00
Diego Mello a2bf0f013f
[FIX] Unable to save attachment on iOS (#2743)
* Fix rn-fetch-blob's document dir without forward slash

* Update camera roll
2020-12-24 10:12:31 -03:00
Diego Mello df701a52a4
[CHORE] Update React Native to 0.63.4 (#2737) 2020-12-22 15:50:23 -03:00
Diego Mello c9c8bdecd0
[REGRESSION] Re-enable Jitsi Chat (#2687)
* Fix main jitsi

* Fix iOS

* Clear build.gradle cache

* Don't restore gradle

* cache is back

* Use master

* Point to react-native-jitsi-meet#master
2020-12-04 19:18:55 -03:00
Diego Mello 7b4be8bddf
[FIX] Messages overlapping and emoji keyboard not opening (#2670)
* Replace keyboard libs for react-native-ui-lib

* Apply Jitsi branch

* Require keyboard on bundle

* Update ui-lib

* chore: update deps

Co-authored-by: Djorkaeff Alexandre <djorkaeff.unb@gmail.com>
2020-12-01 08:58:51 -03:00
Djorkaeff Alexandre 10ba9d5138
[NEW] Support RTL (#2656)
* wip: RTL (iOS)

* wip: RTL (Android)

* wip: reload bundle when change between RTL languages

* fix: Stack Animation on Android

* fix: update snapshot

* fix: Swipe Room Actions in RTL mode

* fix: snapshots

* Move isRTL to i18n

* Fix styling

* Update tests

* Update pods

Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-11-30 18:47:05 -03:00
Djorkaeff Alexandre 155fc04aca
[NEW] Support client certificates for SSL (two-way authentication) (Android) (#2624)
* wip: Android SSL Pinning

* Use own SSLPinningModule

* wip: Use Rocket.Chat own react-native

* wip: Fresco Images using custom OkHttpClient

* wip: react-native-webview onReceivedClientCertRequest

* feat: Save Images of a SSL Pinning protected server

* chore: SSLPinning package as a interface to iOS & Android implementations

* chore: update glide

* feat: load images under a client ssl certificate protected server

* chore: remove patch

* feat: Audio & Video under a SSL Client protected server

* fix: Unpin certificate when change server

* feat: Fast Image as a patch

* chore: update fast-image

* Fix merge

Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-11-30 14:00:06 -03:00
Diego Mello de81fa3464
[FIX] F-Droid build for store (#2557)
* [FIX] F-Droid build for store

* Trying to make Override custom push notifications on play build only

* Use play sourceSets

* Change version code

* Fix react-native-config-reader

* [FIX] F-Droid build for store

* Trying to make Override custom push notifications on play build only

* Use play sourceSets

* Change version code

* Fix react-native-config-reader

* Remove react-native-device-info Google dependencies / Use LIBRE_BUILD of react-native-jitsi-meet

* Invalidate CI Cache

* Set specific jitsi-meet-sdk

* Specify 2.10.0-libre

* jitsi-meet using an url based on play build

* update react-native-jitsi-meet

* react-native-device-info foss

* undo some unnecessary changes

* Fix notifications

Co-authored-by: Djorkaeff Alexandre <djorkaeff.unb@gmail.com>
2020-11-09 17:14:35 -03:00
Djorkaeff Alexandre 080b8cc3fc
[FIX] Storybook not able to import Avatar (#2607)
* [FIX] Storybook not able to import Avatar

* Fix lint

* Mock Date.now

* Fix RU translation

* isLegacy -> serverVersion

* Remove change avatar from room info edit for servers below 3.6

* Mock for storyshots only

* lint

Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-11-04 13:53:44 -03:00
Luis 892470617d
[FIX] Update react native CLI to support white labeling with XCode 12 (#2560)
Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-11-03 14:25:05 -03:00
Djorkaeff Alexandre f4f416c6fa
[IMPROVEMENT] Jitsi lean (#2534)
* 2.10.2

* update jitsi sdk

* use our own react-native-jitsi-meet

* use own android jitsi sdk

* remove jsc reference

* use self-builded ios sdk

* update react-native-jitsi-meet

Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-11-03 11:18:15 -03:00
Diego Mello 6271b885ee
[NEW] Threads (#2567)
* [IMPROVEMENT] Mentions layout without background

* Fix RoomItem

* Fix tests

* Smaller messagebox

* Messagebox colors tweak

* Beginning header buttons refactor

* Add HeaderButtons

* item with title

* Refactor

* Remove lib

* Refactor

* Update snapshot

* Send to channel on messagebox

* Add tshow

* Add showMessageInMainThread to login.user reducer

* Filter threads on main channel based on user setting

* Send tshow

* Add tunread

* Move unread colors logic away from UnreadBadge component so it can be used on other components

* Export UnreadBadge on index

* Add empty test

* Refactor

* Update tests

* Lint

* Thread unread user and group on RoomItem

* Thread badge working

* Started ThreadMessagesView.Item

* Fix separator

* Reactivity working

* Lint

* custom emojis aren't necessary

* Basic filter layout

* Filtering layout

* Refactor

* apply filter

* DropdownItemHeader

* default all

* few fixes

* No data found

* Fixes list performance issues

* Use locale on date formats

* Fixed minor styles

* Thread badge

* Refactor getBadgeColor

* Fix send to channel background color

* starting search threads

* Fix lint and tests

* Bump to 4.12.0 just for testing :)

* Search input layout

* query

* starting threads header

* fix unnecessary tlm on tmid messages

* Fix thread header

* lint

* Fix thread header on ShareView

* Add e2e tests

* Fix subscriptions sort

* Update stories and minor fixes

* Fix button sizes on Messagebox

* Remove comment

* Unnecessary conditional

* Add showMessageInMainThread to user collection

* Fix thread header

* Fix thread messages not working on tablet

* Reset Messagebox.tshow after sending a message

* Allow to send to channel when replying to a thread from main channel

* Unnecessary theme prop

* Address comments

* Remove re-render

* Fix scroll indicator bug

* Fix style

* Minor i18n fix

* Fix dropdown height

* I18n ptbr

* I18n
2020-10-30 14:35:07 -03:00
Diego Mello 81bb89da6c
[IMPROVEMENT] Support badge number on header buttons (#2566)
* Beginning header buttons refactor

* Add HeaderButtons

* item with title

* Refactor

* Remove lib

* Refactor

* Update snapshot

* Refactor

* Update tests

* Lint
2020-10-30 13:15:58 -03:00
Djorkaeff Alexandre 46e3db97e8
[NEW] Channel avatars (#2504)
* [WIP] Avatar cache invalidation

* [WIP] Avatar container

* [IMPROVEMENT] Avatar container

* [CHORE] Improve code

* Allow static image on Avatar

* Fix avatar changing while change username (#1583)

Co-authored-by: Prateek93a <prateek93a@gmail.com>

* Add default props to properly update on Sidebar and ProfileView

* Fix subscribing on the wrong moment

* Storyshots update

* RoomItem using Avatar Component

* use iife to unsubscribe from user

* Use component on avatar container

* RoomItem as a React.Component

* Move servers models to servers folder

* Avatar -> AvatarContainer

* Users indexed fields

* Initialize author and check if u is present

* Not was found -> User not found (turn comments more relevant)

* RoomItemInner -> Wrapper

* Revert Avatar Touchable logic

* Revert responsability of LeftButton on Tablet Mode

* Prevent setState on constructor

* Run avatarURL only when its not static

* Add streams RC Version

* Move entire add user logic to result.success

* Reorder init on RoomItem

* onPress as a class function

* Fix roomItem using same username

* Add avatar Stories

* Fix pick an image from gallery on ProfileView

* Format Avatar URL to use RoomId.

Co-authored-by: Ezequiel De Oliveira <ezequiel1de1oliveira@gmail.com>

* edit room avatar

* invalidate cache of room images

* reinit avatar if something change

* read avatar cache on search

* room avatar changed system message

* add avatar by rid test

* update snapshot

* etag cache on select channel

* reset room avatar

* increase caching to have a better image quality

* fix lgtm warn

* invalidate ci cache

* get avatar etag on select users of create discussion

* invalidate ci cache

* Fix migration

* Fix sidebar avatar not updating

* Remove outdated comment

* Tests

Co-authored-by: Prateek93a <prateek93a@gmail.com>
Co-authored-by: Diego Mello <diegolmello@gmail.com>
Co-authored-by: Ezequiel De Oliveira <ezequiel1de1oliveira@gmail.com>
2020-10-30 10:51:04 -03:00
Djorkaeff Alexandre 734039191f
[FIX] Avatar cache invalidation (#2311)
* [WIP] Avatar cache invalidation

* [WIP] Avatar container

* [IMPROVEMENT] Avatar container

* [CHORE] Improve code

* Allow static image on Avatar

* Fix avatar changing while change username (#1583)

Co-authored-by: Prateek93a <prateek93a@gmail.com>

* Add default props to properly update on Sidebar and ProfileView

* Fix subscribing on the wrong moment

* Storyshots update

* RoomItem using Avatar Component

* use iife to unsubscribe from user

* Use component on avatar container

* RoomItem as a React.Component

* Move servers models to servers folder

* Avatar -> AvatarContainer

* Users indexed fields

* Initialize author and check if u is present

* Not was found -> User not found (turn comments more relevant)

* RoomItemInner -> Wrapper

* Revert Avatar Touchable logic

* Revert responsability of LeftButton on Tablet Mode

* Prevent setState on constructor

* Run avatarURL only when its not static

* Add streams RC Version

* Move entire add user logic to result.success

* Reorder init on RoomItem

* onPress as a class function

* Fix roomItem using same username

* Add avatar Stories

* Fix pick an image from gallery on ProfileView

* get avatar etag on select users of create discussion

* invalidate ci cache

* Fix migration

* Fix sidebar avatar not updating

Co-authored-by: Prateek93a <prateek93a@gmail.com>
Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-10-30 10:12:02 -03:00
Diego Mello 2b3a5f805b
[CHORE] Reset yarn cache (#2512) 2020-09-30 16:31:59 -03:00
Djorkaeff Alexandre 60dc128c63
[NEW] E2E Encryption push (iOS) (#2463)
* link pods to notification service

* push encryption poc

* decrypt room key poc

* read user key from mmkv and cast into a pkcs

* push decrypt poc (iOS)

* expose needed watermelon methods

* watermelon -> database

* indent & simple-crypto update

* string extensions

* storage

* toBase64 -> toData

* remove a forced unwrap

* remove unused import

* database driver

* improvement

* folder structure & watermelon bridge

* more improvement stuff

* watermelon -> database

* reuse database instance

* improvement

* database fix: bypass watermelon cache

* some code improvements

* encryption instances

* start api stuff

* network layer

* improve notification service

* improve folder structure

* watermelon patch

* retry fetch logic

* rocketchat class

* fix try to decrypt without a roomKey

* fallback to original content that is translated

* some fixes to rocketchat logic

* merge develop

* remove unnecessary extension

* [CHORE] Improve reply notification code (iOS)

* undo sign changes

* remove mocked value

* import direct from library

* send message request

* reply notification with encrypted message working properly

* revert apple sign

* fix api onerror

* trick to display sender name on group notifications

* revert data.host change

* fix some multithread issues

* use sendername sent by server

* small improvement

* Bump crypto lib

* Update ios/NotificationService/NotificationService.swift

* add experimental string

* remove trailing slash

* remove trailing slash on reply

* fix decrypt messages

Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-09-24 15:34:13 -03:00
Djorkaeff Alexandre 0195506549
[NEW] E2E Encryption push (Android) (#2481)
* poc push encryption android

* eof

* format code

* react-native-simple-crypto update

* prevent find sub twice

* remove storage and use ejson storage

* invalidate yarn cache

* Bump crypto and fix db path

* Fix google-services path

Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-09-24 11:00:50 -03:00
Diego Mello 7b67ae4757
Update WatermelonDB to 0.19.0 (#2469)
* [FIX] Jitsi breaking changes

* Update yarn cache

* Update watermelon to 0.19
2020-09-16 15:48:23 -03:00
Diego Mello 709c7aaaea
[FIX] Jitsi breaking changes (#2468)
* [FIX] Jitsi breaking changes

* Update yarn cache
2020-09-16 10:32:33 -03:00
Diego Mello 2d22089e19
[FIX] Local database searches using non-latin characters (#2462)
* [FIX] Local database searches using non-latin characters

* Add tests
2020-09-15 10:01:43 -03:00
Diego Mello 334140df0d
[IMPROVEMENT] Show errors on server enter (#2449)
* Catching errors

* [IMPROVEMENT] Show errors on server enter

* "Not rc server" instead of "invalid or insecure url" msg
2020-09-11 13:30:28 -03:00
Djorkaeff Alexandre 3c9017a62d
[NEW] E2E Encryption (#2394)
* Add E2EKey to Subscription Model

* Install react-native-simple-crypto

* Install bytebuffer

* Add translations

* CreateChannel Encrypted toggle

* Request E2E_Enabled setting

* Add some E2E API methods

* POC E2E Encryption

* Garbage remove

* Remove keys cleaner

* Android cast JWK -> PKCS1

* Initialize E2E when Login Success

* Add some translations

* Add e2e property to Message model

* Send Encrypted messages

* (iOS) PKCS1 -> JWK & e2e.setUserPublicAndPrivateKeys

* (Android) PKCS1 -> JWK & e2e.setUserPublicAndPrivateKeys

* Create an encrypted channel

* Fix app crashing on RoomsList

* Create room key

* Set Room E2E Key (Android)

* Edit room encrypted

* Show encrypted icon on messages

* logEvents

* Decrypt pending subscriptions & messages

* Handle user cancel e2e password entry

* E2ESavePasswordView

* Update Snapshot

* Add encrypted props to message on Send

* Thread messages encryption

* E2E -> Encryption

* Share Extension: Share encrypted text

* (POC) Search messages on Encrypted room

* Provide room key to new users

* Request roomKey on stream-notify-room-users

* Add e2eKeyId to Room Model

* (WIP) E2E Encryption Screens

* Remove encryption subscription file

* Move E2E_Enable to Server Model

* Encryption List Banner

* Move Encryption init to Sagas

* Show banner only when enabled

* Use RocketChat/react-native-simple-crypto

* Search on WM only when is an Encrypted channel

* (WIP) Encryption Banner

* Encryption banner

* Patch -> Fork

* Improve send encrypted message

* Update simple-crypto

* Not decrypt already decrypted messages

* Add comments

* Change eslint disable to inline

* Improve code

* Remove comment

* Some fixes

* (WIP) Encryption Screens

* Improve sub find

* Resend an encrypted message

* Fix comment

* Code improvements

* Hide e2e buttons on features if it is not enabled

* InApp notifications of a encrypted room

* Encryption stop logic

* Edit encrypted message

* DB batch on decryptPending

* Encryption ready client

* Comments

* Handle getRoomInstance errors

* Multiple messages decrypt

* Remove unnecessary try/catch

* Fix decrypt all messages history

* Just add a questionmark

* Fix some subscriptions missing decrypt

* Disable request key logic

* Fix unicode emojis

* Fix e2ekey request

* roomId -> subscription

* Decrypt subscription after merge

* E2ERoom -> EncryptionRoom

* Fix infinite loading

* Handle import key errors

* Handle request key errors

* Move e2eRequestRoomKey to Rocket.Chat

* WIP handshake when key should be requested

* Add search messages explanation

* Remove some TODO and update comments

* Improvements

* Dont show message hash to user

* Handle key request & prevent multiple calls

* Request E2EKey on decryptSubscription that doesn't exists on database yet

* Insert decrypted subscription

* Fix crash after login

* Decrypt sub when receive the key

* Decrypt pending messages of a room

* Encrypted as a switch

* Buffer to Base64 URI Safe

* Add a relevant comment

* Prevent import key without a privateKey

* Prevent create a new instance when client is not ready

* Update simple-crypto & remove replace trick

* More comments

* Remove useless comment

* Remove useless try/catch

* I18n all E2E screens

* E2ESavePassword -> E2ESaveYourPassword

* Prevent multiple views on message when is not encrypted

* Fix encryption toggle not working sometimes

* follow some suggestions

* dont rotate icons

* remove unnecessary condition

* remove unreachable event

* create channel comment

* disable no-bitwise rule for entire file

* loadKeys -> persistKeys

* getMasterKey -> generateMasterKey

* explicit difference between E2EKey & e2eKeyId

* roomId -> rid

* group columns

* Remove server selector

* missing log events

* remove comment

* use stored public key

* update simple-crypto & remove base64-js patch

* add some logs

* remove unreachable condition

* log errors

* handle errors on provide key directly on subscription

* Downgrade RocketChat/react-native-simple-crypto

* improve get room instance

* migration of older apps

* check encrypted status before send a message

* wait client ready

* use our own base64-js

* add more jest tests

* explain return

* remove unncessary stop

* thrown error to caller

* remove superfluous checks

* use Encryption property

* change ready state logic

* ready -> establishing

* encryption.room -> encryptionRoom

* EncryptionRoom -> Room

* add documentation

* wait establishing before provide a room key

* remove superfluous condition

* improve error handling logic

* fallback e2ekey set

* remove no longer necessary check

* remove e.g.

* improve getRoomInstance

* import from index

* use batch

* fix a comment

* decrypt tmsg

* dont show hash when message is encrypted

* Fix detox

* Apply suggestions from code review

Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-09-11 11:31:38 -03:00