Commit Graph

356 Commits

Author SHA1 Message Date
Diego Mello e36413c445
Bump version to 4.28.0 (#4167) 2022-05-05 13:45:53 -03:00
Gleidson Daniel Silva 6eb2179088
Chore: Update ua-parser-js from 0.7.18 to 0.7.24 and set resolution (#4058)
* update ua-parser and set resolution

* update ua-parser and set resolution

* wip
2022-05-03 17:06:49 -03:00
Alex Junior d99b31849a
Chore: Evaluate Icon - Typescript (#3982)
Co-authored-by: Diego Mello <diegolmello@gmail.com>
2022-05-02 16:21:15 -03:00
Diego Mello 0ed8cdaa6a
Bump version to 4.27.0 (#4076) 2022-04-20 18:41:56 -03:00
Reinaldo Neto b75ac1de8b
[IMPROVE] Support Omnichannel icons (#3959)
* [IMPROVE] Support Channel Icons for Omnichannel

* Prop drilling sourceType

* create a column for source in WatermelonDB

* Add sms icon

* start of fetching

* removed usefetch

* custom icon to RoomHeader, RoomActions, RoomInfo

* minor tweak in interface

* fix margin

* add connected to sourceType

* make ts happy

* minor tweak

* fix storyshot

* refactor omnichannel source interface

* minor tweak roomActionsview

* Added storyshot

* minor tweak

* fix storyshot

* fix display extended without avatar

* fix connected object

* wip android build

Co-authored-by: Diego Mello <diegolmello@gmail.com>
Co-authored-by: GleidsonDaniel <gleidson10daniel@hotmail.com>
2022-04-14 23:27:36 -03:00
Reinaldo Neto 25c37c1a60
Chore: Migrate i18n to Typescript (#3988)
* Chore: Migrate i18n to Typescript and fix the Left and Right actions in RoomItem

* remove fix to roomItem

* update storyshot

* Chore: Migrate i18n to Typescript and fix the Left and Right actions in RoomItem

* remove fix to roomItem

* update storyshot

* fix removed itens

* fix changes requested

* interface for i18n, added resolveJsonModule to tsconfig.json

* tweak at error alert

* fix storyshot

* refactor comments

* create function isTranslated

* fix accessibilityLabel

Co-authored-by: Diego Mello <diegolmello@gmail.com>
2022-04-14 17:30:41 -03:00
Alex Junior b0d408ebc8
Chore: add eslint-plugin-react-hooks lib (#4021)
Co-authored-by: Diego Mello <diegolmello@gmail.com>
2022-04-11 15:01:43 -03:00
Reinaldo Neto ec952b058a
Chore: Upgrade @types/react-native to 0.64.2 (#4026)
* Chore: Upgrade @types/react-native to 0.64.2

* minor tweak in comment

* minor tweak

* Chore: Upgrade @types/react-native to 0.64.2

* minor tweak in comment

* minor tweak

* fix accessibility within bordelessbutton
2022-04-08 11:27:10 -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 f4538635b8
Bump version to 4.26.2 (#3995) 2022-03-30 18:04:10 -03:00
Gerzon Z 93c9d2efdf
Chore: use `@react-native-clipboard/clipboard` (#3950)
* add: @react-native-clipboard/clipboard

* create jest.setup.js file and centralizes all mocks on these folder for jest

Co-authored-by: GleidsonDaniel <gleidson10daniel@hotmail.com>
2022-03-29 12:09:44 -04:00
Diego Mello 3c6ae8ddc7
Bump version to 4.26.1 (#3976) 2022-03-28 14:48:52 -03:00
Alex Junior 891ada8942
Chore: Update codecov version (#3954) 2022-03-24 10:39:38 -03:00
Gleidson Daniel Silva 75f3f90913
[NEW] Collapsible Message (#3879)
* create new collapsible component

* create collapsible tests and update snapshot

* fix quote :)

* update snapshot

* add support to color

* add collapsed prop

* fix some styles

* fix tests

* wip

* clean

* add CollapsibleQuote story

* better style

* update snapshots

* add better tests

* remove testID

* update storyshot
2022-03-18 07:01:30 -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
Alex Junior dff60b6703
Fix: fix the command to run detox on android (#3812)
* fix the command to run detox on android (#3812)
2022-03-03 20:42:32 -03:00
Reinaldo Neto cbfa7bf43a
Chore: Migrate RoomInfoView to Typescript (#3778)
* Chore: Migrate RoomInfoView to Typescript

* tweak in avatar

* tweak with SubscriptionType

* minor tweak package

* Chore: Migrate RoomInfoView to Typescript

* tweak in avatar

* tweak with SubscriptionType

* minor tweak package

* react.reactelement | null

* minor tweak

* minor tweak livechatvisitor

* remove console.log

* Tweaks
2022-03-03 18:46:53 -03:00
Diego Mello ea357de74a
Bump version to 4.26.0 (#3806) 2022-03-02 13:22:17 -03:00
Gerzon Z 352a718631
Chore: Migrate lib/encryption folder to TypeScript (#3639)
* Initial commit

* add types/bytebuffer, add type definitions to params and update interfaces

* add more types and type assertions

* update types

* change bang operator by type assertion and update class variables definitions

* add types for deferred class

* minor tweaks on types definitions

* add ts-ignore

* Update encryption.ts

* update deferred and encryption

* update encryption.ts

* Update room.ts

* update toDecrypt type

* initialize sessionKeyExportedString

* remove return types
2022-02-16 17:14:28 -04:00
Snyk bot 49e555013f
[Snyk] Security upgrade url-parse from 1.5.1 to 1.5.6 (#3746)
The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-JS-URLPARSE-2401205
2022-02-15 16:11:32 -03:00
Diego Mello a808120959
Bump version to 4.25.0 (#3745) 2022-02-15 16:00:51 -03:00
Diego Mello ae47f14070
[FIX] #3606 merged using wrong JS SDK branch (#3709) 2022-02-10 09:37:22 -03:00
Diego Mello ab9d568528
[NEW] Stream to get individual presence updates (#3606)
Co-authored-by: Gerzon Z <gerzonzcanario@gmail.com>
2022-02-09 17:44:53 -03:00
Gerzon Z 2d1b093666
Chore: Migrate lib/utils to TypeScript (#3637)
* Migrate utils to TypeScript

* Add @types/semver

* Refactor compareServerVersion(currentVersion, oldVersion, func) to compareServerVersion(current, func, oldVersion)

Co-authored-by: Diego Mello <diegolmello@gmail.com>
2022-02-07 14:44:04 -04:00
Gleidson Daniel Silva 2f7ff43ea0
[FIX] StoryShots not working for async rendered components (#3677) 2022-01-31 18:15:44 -03:00
Gleidson Daniel Silva f1456ff786
Chore: Migrate notification/push to Typescript (#3587) 2022-01-12 15:42:37 -03:00
Diego Mello d2e9e404de
Bump version to 4.24.0 (#3601) 2022-01-12 12:49:13 -03:00
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 81dc10de30
Bump version to 4.23.0 (#3546) 2021-12-07 10:55:46 -03:00
Anant Bhasin f69b82dae9
Tests: Make Detox work on Android (#3051) 2021-12-02 10:19:15 -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
Diego Mello 0ca3dd63d1
Bump version to 4.22.0 (#3472) 2021-10-29 17:38:28 -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
Diego Mello 0af4c06c41
Bump version to 4.21.0 (#3432) 2021-10-06 17:59:10 -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 201b84e6e2
Fix: lint-staged not working properly(#3382) 2021-09-14 17:22:26 -03:00
Alex Junior 69a67ea998
Chore: Start Typescript migration (#3279) 2021-09-13 17:41:05 -03:00
Diego Mello 9c526b753e
Bump version to 4.20.0 (#3366) 2021-09-03 15:01:43 -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 b64dac1f1c
Bump version to 4.19.0 (#3307) 2021-07-28 17:20:09 -03:00
Gerzon Z 97ed3a6094
Chore: Run lint and tests on staged files only (#3291) 2021-07-22 14:46:59 -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 3f172e6c3d
Bump version to 4.18.0 (#3252) 2021-07-08 17:10:35 -03:00
Diego Mello ec97d8417f
Bump version to 4.17.0 (#3093) 2021-06-07 14:27:37 -03:00
Diego Mello 6798f039f3
Bump version to 4.16.2 (#3092) 2021-04-27 13:21:22 -03:00
Diego Mello a329738bc8
Bump version to 4.17.0 (#3083) 2021-04-19 17:44:31 -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
Diego Mello 14078c0943
Bump version to 4.16.1 (#3063) 2021-04-14 14:09:44 -03:00
Diego Mello 69c0ccd8a7
Bump version to 4.17.0 (#3058) 2021-04-13 10:47:17 -03:00
Diego Mello 5a96f1ff6b
Bump version to 4.16.0 (#3037) 2021-04-05 15:15:56 -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
Diego Mello eedea407f1
Bump version to 4.15.0 (#2950) 2021-02-26 15:51:53 -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
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
Gerzon Z d83631d7f2
[FIX] Spotlight returning duplicated entries (#2805)
* Update rocketchat.js

* Updated search function

* Minor improvements

* Remove atIndex

* Add remove logic to remove duplicate data from response

Co-authored-by: Diego Mello <diegolmello@gmail.com>
2021-01-20 16:53:12 -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 20a00ee792
[FIX] Yarn android scripts (#2716) 2020-12-16 11:41:02 -03:00
Diego Mello cd76dd99d9
[CHORE] Build official apps on CI (#2701)
* Duplicated target and changed Bridging Header

* Display name

* Unnecessary dumb swift file removed

* Buildable name

* Reorder Info.plist

* Rename Official target's bundle id

* Ignore .mobileprovision

* Fix provisioning of official app

* Starting signing

* stash fastfile

* starting official ci iOS

* Uncomment Fastfile keychain

* Fix CI config

* allowProvisioningUpdates

* Changing AppIcon and Splash Screen

* Remove unnecessary folder inside of Images.xcassets

* Reorder notificationservice and shareextension plists

* Fix signing

* Manual signing style for official

* Split official signing

* Update project provisioning

* Use ENV as profile

* Output match

* Keys

* TestFlight refactor

* Setting up android

* android-official-play-build job

* Start removing unnecessary fastlane tasks on Android

* Trying to refactor Android jobs

* android-env

* Remove foss build for now

* Fork

* Fix if conditions

* Fix push

* ios-build command

* Rename Android builds

* Upload dSYMs

* Refactoring workflow

* Reorder upload-to-testflight

* upload-to-google-play-beta command

* Fix ci

* Fix android fork build

* Fix keystore

* Fix options on fastlane android

* Fix keystore

* Check isOfficial on iOS

* Check isOfficial on db

* Remove unused imports

* Database names on Android

* Tag fix

* Minor fixes

* Set IS_OFFICIAL on CI

* Fix detox

* follow review suggestions

Co-authored-by: Djorkaeff Alexandre <djorkaeff.unb@gmail.com>
2020-12-14 13:20:32 -03:00
Graham Smith 2d6572d709
[IMPROVEMENT] Ease white labelling for Android (#2685)
* improve white labelling for Android

* Move application ID to gradle properties

* Fix CI

* Point foss sufix to main app

* Use npx on android-whitelabel script

Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-12-04 13:17:29 -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
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
Diego Mello 03aba6f697
[CHORE] Update run-ios and run-android scripts (#2450) 2020-09-11 11:34:10 -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
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 91a2e9b181
[CHORE] App Group path as a iOS constant (#2439)
* [FIX] Chrome debugging

* Remove rn-fetch-blob
2020-08-31 17:29:44 -03:00
Ezequiel de Oliveira 15c12f8901
[FIX] Logout from custom oauth (#2377)
* New field in table of users

Signed-off-by: Ezequiel De Oliveira <ezequiel1de1oliveira@gmail.com>

* Saving when the user logged in with email and password

Signed-off-by: Ezequiel De Oliveira <ezequiel1de1oliveira@gmail.com>

* Saving login method info

Signed-off-by: Ezequiel De Oliveira <ezequiel1de1oliveira@gmail.com>

* Ask for the user to clear cookies

Signed-off-by: Ezequiel De Oliveira <ezequiel1de1oliveira@gmail.com>

* Fix lint

Signed-off-by: Ezequiel De Oliveira <ezequiel1de1oliveira@gmail.com>

* Removing loginMethod from redux and add I18n

Signed-off-by: Ezequiel De Oliveira <ezequiel1de1oliveira@gmail.com>

* Using async/await instead of then/catch

Signed-off-by: Ezequiel De Oliveira <ezequiel1de1oliveira@gmail.com>

* Fix lint

Signed-off-by: Ezequiel De Oliveira <ezequiel1de1oliveira@gmail.com>

* Pods

* Added dismissText on showConfirmationAlert

* Fix iOS

* Rename function

* I18n tweaks

Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-08-25 17:04:18 -03:00
Govind Dixit b80d8a0eca
[NEW] Add to F-Droid (#2171)
* create play and foss build

* update package.json to generate each build

* check1

* requested changes

* initial commit

* Update config.yml

* minor changes

* remove bugsnag from foss build

* remove bugsnag tasks from foss job

* fix stuck screen

* fixes

* update

* fix lint

* finalise 🚀

* requested changes

* share app for fdroid

* update

* use negation for builds

* requested change

* update share app

* fix issues due to latest sync

* add extra line

* fix lint

* update

* update

* fix bugsnag issue

* Update config.yml

* Fix store url

* Foss release instead of debug

* Add hold for foss

* Fix build

* requested changes

* update name and icons

* update

* fix

* Revert "Bump version to 4.11.0 (#2392)"

This reverts commit ea287980d9.

* finalise

Co-authored-by: Djorkaeff Alexandre <djorkaeff.unb@gmail.com>
Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-08-24 09:24:10 -03:00
Snyk bot 15f174b47b
[Snyk] Security upgrade lodash from 4.17.19 to 4.17.20 (#2416)
The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-JS-LODASH-590103

Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-08-21 16:33:07 -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 c91cd0b963
[CHORE] Update react-native-firebase (#2336)
* Remove firebase

* Install firebase/app

* Install analytics

* Crashlytics

* Android

* Fix mocks

* Edit scheme to Debug build configuration

Co-authored-by: Djorkaeff Alexandre <djorkaeff.unb@gmail.com>
2020-07-24 10:19:17 -03:00
dependabot[bot] 7491df6109
Bump codecov from 3.6.5 to 3.7.1 (#2323)
Bumps [codecov](https://github.com/codecov/codecov-node) from 3.6.5 to 3.7.1.
- [Release notes](https://github.com/codecov/codecov-node/releases)
- [Commits](https://github.com/codecov/codecov-node/compare/v3.6.5...v3.7.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-07-22 16:42:54 -03:00
Dan Caseley df6c2c5424
[TESTS] Idempotence for e2e tests (#2308)
* Idempotence for Assorted

* Idempotence for Onboarding

* Idempotence for Rooms

* Remove redundant expects

* Fixes and improvements

* Remove unneeded sleeps

* Make stable following merge

* Try solving early taps without long sleep

Try solving early taps without long sleep (cont)

Temporary CircleCI hack for quicker testing

Add screenshots to CircleCI for failed tests

Try solving early taps without long sleep (cont. 2)

Revert "Temporary CircleCI hack for quicker testing"

This reverts commit 4abef3a5827910c05b12ac8b8380275b60e8af4f.

* Fix flaky test with a fluent wait on the tap

* Add some new sleeps to workaround #2324

* Add test artifacts to gitignore

* More longpress for dodgy taps, wait for pin response

Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-07-22 13:32:21 -03:00