Commit Graph

87 Commits

Author SHA1 Message Date
Diego Mello cf897a5f01 iOS building
expo 49 (only main), reanimated 3, fab removed, RN patch removed, RN path manually set on podfile
2023-06-30 17:45:36 -03:00
Gleidson Daniel Silva a6eb514761
fix: Calls with jwt not working on ios and fix media permission on iOS (#5075)
* fix roomId

* fix ios permission

* update lib and patch

* try

* update webview

* update method

* fix ios

* move to a function
2023-06-06 18:53:48 -03:00
Diego Mello 0079229a34
chore: Upgrade React Native to 0.71.7 (#4984) 2023-05-18 18:09:33 -03:00
Gleidson Daniel Silva fcc6f09875
feat: Remove Jitsi native module from iOS and use webview instead (#5061) 2023-05-08 10:45:46 -03:00
Diego Mello 412f62eb2a
Chore: Update Detox to 20.1.2 (#4866) 2023-03-07 09:28:51 -03:00
Gleidson Daniel Silva 38511d2f2d
[IMPROVE] Migrate from react-native-jitsi-meet to lib react-native-jitsimeet-custom (#4823)
Co-authored-by: Diego Mello <diegolmello@gmail.com>
2023-01-20 13:55:53 -03:00
Diego Mello 91831c8f33
[FIX] Unwanted clear keychain and request challenges (#4826) 2023-01-18 13:43:26 -03:00
Diego Mello 4174aef4f8
Chore: Upgrade react-native-device-info to 10.3.0 (#4770) 2022-12-21 15:47:42 -03:00
Diego Mello 61dc320a68
Chore: Update react-native-mmkv-storage to 0.8.0 (#4695) 2022-11-21 16:16:53 -03:00
Diego Mello 44f062f9b9
Bump react-native-notifications to 4.3.3 (#4692) 2022-11-16 18:09:46 -03:00
Diego Mello 988c6931ec
Chore: Bump patches (#4679) 2022-11-16 10:26:37 -03:00
Diego Mello 80d53d3876
[FIX] Push notification's deep linking not working when opened from a cold state on Android (#4648) 2022-11-04 13:33:03 -03:00
Diego Mello 5344f2f7c1
[FIX] App always using the last deep link on Android (#4585) 2022-10-04 10:25:31 -03:00
Diego Mello e883795c5f
[FIX] Reply and deep link from push notifications not working on iOS (#4550) 2022-09-23 17:35:03 -03:00
Diego Mello 17be449d4e
[FIX] Jump to message stuck on loading animation (#4410) 2022-08-19 18:14:37 -03:00
Diego Mello e723990e82
Chore: Update Storybook libs to v6 (#4439) 2022-08-19 16:53:40 -03:00
Gleidson Daniel Silva 2b08b683d7
Chore: Upgrade React Native to 0.68.2 (#4316)
Co-authored-by: Diego Mello <diegolmello@gmail.com>
2022-08-08 18:02:08 -03:00
Alex Junior 1027b6c9e6
[IMPROVE] Use UI Elements from react-navigation (#4314)
Co-authored-by: Diego Mello <diegolmello@gmail.com>
2022-07-06 10:23:02 -03:00
Danish Ahmed Mirza f1f8e9526e
[FIX] Channel mentions when the slug starts with underscore (#4108) 2022-05-23 15:05:00 -03:00
Danish Ahmed Mirza f5625cd5f3
Chore: Migrate ActionSheets to `react-native-bottom-sheet` and make them dynamic (#4193)
* Install react-native-bottom-sheet

* Migrate ActionSheets to react-native-bottom-sheet

* Remove unnecessary props

* Minor fixes

* Enable OverDrag

* Fix position in landscape mode

* Prefix interface with I

* Remove react-native-scroll-bottom-sheet

Co-authored-by: Diego Mello <diegolmello@gmail.com>
2022-05-19 13:53:45 -03:00
Gleidson Daniel Silva f99ec9f8e3
[FIX] iOS Share Extension not loading on development (#4187)
* remove deviceToken from constructor

* remove old patch to verify if is running on shareExtension

* add share extension verification

* Remove imports from `/notifications/` just to test the share extension

* Revert "Remove imports from `/notifications/` just to test the share extension"

This reverts commit b3492abad413a5a8a6cf3cd027e33044c437c627.

* changes from constructor to a plain function

* update pods

Co-authored-by: Diego Mello <diegolmello@gmail.com>
2022-05-13 11:37:02 -03:00
Gleidson Daniel Silva 5494037f78
Chore: Upgrade react-native-notifications to 4.2.4 (#3958)
Co-authored-by: Diego Mello <diegolmello@gmail.com>
2022-04-07 16:14:04 -03:00
Diego Mello f56bf819d2
Regression: Certificates not getting fetched properly (#3992)
* Working now

* Point to repo

* Fix completions for servers without certs
2022-03-30 18:46:09 -03:00
Alex Junior cd00366613
Chore: Update react-native-mmkv-storage to 0.6.12 (#3634)
* chore: updating mmkv library

* feat: updating android ejson to use the getSecureKey new version

* feat: updating IOS files to use the getSecureKey new version

* feat: changing all mmkv methods to use sync calls

* feat: changing mmkv methods from Screen lock

* feat: changing all mmkv methods from login, ssl certificate and change/add server

* feat: changing all mmkv methods from login, ssl certificate and change/add server

* feat: changing all mmkv methods from logout

* feat: changing all mmkv methods from e2e

* fix: small fix at encryption and server drop down

* feat: changing all mmkv methods from set theme

* feat: changing all mmkv methods from openLink

* fix: setting up mmkv to works property on Android

* fix: fix an error to set the theme when open the app

* refactor: change the react-native branch (temporary)

* refactor: removing all `Async` from mmkv functions name

* refactor: removing await from unnecessary functions, removing console.log and update cocoapods

* refactor: removing unnecessary undefined from methods

* feat: creating a custom hook for mmkv

* refactor: changing the fetchPasscode to use the useUserPreferences hook

* refactor: changing setTheme from app/index

* refactor: small fix on setTheme

* chore: update mmkv to 0.6.11

* chore: update mmkv to 0.6.11

* chore: minor tweak

* chore: update mmkv to 0.6.12

* chore: mock NativeModules

* chore: fix test mmkv

* chore: removing custom MMKV JSI module, since is no more necessary after 0.6.11 version

* feat: removing some async calls from mmkv after update from develop

* feat: creating a function to get the initialTheme

* feat: removing unnecessary try/catch

* fix: fixing the blink white when open the app

* feat: changing useMMKVStorage to create from mmkv lib

* test: creating a mock for mmkv create function

* chore: fix errors on tablet

* minor tweak
2022-03-09 16:41:26 -03:00
Gleidson Daniel Silva 753dec9e27
Chore: Migrate to Typescript mergeSubscriptionRooms and findSubscriptionsRooms (#3747)
* fix fromJSONValue type

* migrate findSubscription and mergeSubscription to typescript

* chore: fix subscription param returning null
2022-02-21 16:41:49 -03:00
Gleidson Daniel Silva f29f360163
Chore: Update react-native-device-info patch-package and pods (#3605) 2022-01-13 10:05:52 -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 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 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
Diego Mello 3e53a76238
[FIX] Poor performance in messages list on Android 11 (#3260) 2021-07-08 17:09:46 -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
Djorkaeff Alexandre 2403eb3857
[FIX] Filenames are incorrect in non-latin alphabets on upload (#2671)
* fix: filename on react-native-image-crop-picker

* fix: use rn-fetch-blob to upload files

* fix: FileUpload as a service

* fix: cancel upload on iOS

* fix: file upload from share extension

Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-12-01 17:19:48 -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 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 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 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 48fe40c569
[REGRESSION] SSL Pinning stopped working after #2449 (#2510) 2020-09-30 16:13:54 -03:00
Djorkaeff Alexandre b73421daa6
[FIX] Show images in iOS 14 (#2494) 2020-09-25 16:05:07 -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
Djorkaeff Alexandre 8643f17fc0
[FIX] WatermelonDB caching Date as String (#2484)
Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-09-23 17:21:28 -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
Djorkaeff Alexandre 8e4eb49b2e
[CHORE] Use Rocket.Chat JS SDK's official repo (#2440)
Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-08-31 17:45:21 -03:00
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
Djorkaeff Alexandre b68b0b84df
[NEW] Push notification data privacy (#2213)
* [WIP] Notification Service

* [WIP] Android push notification privacy

* [WIP] Retry request when it fails (iOS)

* [WIP] Override notification bundle

* [CHORE] Remove unnecessary import

* [WIP] Check notification Type (iOS)

* [WIP] Change to notification endpoint

* eof

* fix unwrap conditional value

* turn run request synchronous

* fix bundle info

* eof

* remove extra tab

* undo unnecessary change

* remove not working code for a while

* fix notification title

* change endpoint and received/sent data

* message-id-only working properly on android

* notification privacy working on ios

* invalidate circleCI yarn cache

* Fix provisioning profiles

* fix notification service version

* fix unwrap nil

* compatibility older servers android

* show received notification when cant fetch content from server

* undo some android changes

* prevent group & reply fallback notifications

* dont show more than one fallback notification by server

Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-07-28 10:43:43 -03:00
Diego Mello 9dbe10bcf8
[IMPROVEMENT] Native sort and limit queries (#2249)
* Update WatermelonDB to 0.18.0

* Low onEndReachedThreshold

* Query experiment

* QUERY_SIZE

* Query or fetch data

* Reorder class functions

* Reset variables

* Hide system messages

* Change this.count behaviour

* Starting on RoomsListView

* unsubscribeQuery

* onEndReached

* Separate queries

* Reusable where clause

* Refactoring

* Refactor RoomItem to accept item as prop

* Comment RoomItem tests just so jest passes

* Fix alert and status

* onPress

* Unnecessary diff

* react-fast-compare

* Native limit on ShareListView

* Tweak item description

* Lint

* Fix on foreground crash

* Suggested changes
2020-07-20 13:44:54 -03:00