Commit Graph

310 Commits

Author SHA1 Message Date
Gung Wah e98116587d
[CHORE] Add permissions to Redux (#2914)
* [FIX] Add permissions to Redux store

* add only permissions being used in the app

* add clear permissions reducer

* call RocketChat.hasPermission from reducer

* add server version comparison on getPermissions

* refactor hasPermission function

* refactor hasPermission function

* remove uncomment code

* use Q.experimentalSortBy()

* add coerce function

* Change Rocketchat.hasPermission

* Apply on isReadOnly

* Apply to RoomInfoEditView

* Apply to RoomInfoView and RoomInfoEditView

* canAutoTranslate

* Unnecessary clear permissions

* Revert getUpdatedSince

* Naming fix

Co-authored-by: Diego Mello <diegolmello@gmail.com>
2021-02-25 13:41:44 -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 db5074ab70
[NEW] Encrypted Discussions (#2813)
* I18n key fix

* Add encrypted switch

* Remove unused i18n keys

* Add enabled to encryption reducer

* Show encrypted option on CreateDiscussionView only when e2e encryption is properly set

* Add localSearch and use it on search

* Use encrypted from parent channel

* Fix method calls as rest api with 2fa enabled

* Fix logout after reset keys

* Use encryption reducer instead of lib directly to check render

* Check for room type logic to display encryption option on create discussion

* Check toggle-room-e2e-encryption permission on RoomActionsView

* Check for encryption status instead of setting on server

* Fix

* Disable switch instead of hide it

* Fix spotlight for DMs

* Fix server test
2021-01-20 14:34:01 -03:00
Daniel Maike 13985cf724
[FIX] App not prompting join code for password protected channels (#2514)
* Adding joinCode parameter

Co-authored-by: Vitor Leal <vitor_leal2201@hotmail.com>
Co-authored-by: Fernando Aguilar <fernando.aguilar@hotmail.com.br>

* Insert join code input

Signed-off-by: Vitor.Leal <vitor_leal2201@hotmail.com>

* Add joinCode field on db

Signed-off-by: Vitor.Leal <vitor_leal2201@hotmail.com>

* Add label i18 pt-br and en-us

Signed-off-by: Vitor.Leal <vitor_leal2201@hotmail.com>

* Add insert join code text

Signed-off-by: Vitor.Leal <vitor_leal2201@hotmail.com>

* Fix atribute name

Signed-off-by: Vitor.Leal <vitor_leal2201@hotmail.com>

* Add join text

Signed-off-by: Vitor.Leal <vitor_leal2201@hotmail.com>

Co-authored-by: Daniel Maike <danmke@hotmail.com>
Co-authored-by: Fernando Aguilar <fernando.aguilar@hotmail.com.br>

* Fix attributes joinCode, joinCodeRequired and pass attribute param in navigation

Signed-off-by: Daniel Maike <danmke@hotmail.com>

Co-authored-by: Vitor Leal <vitor_leal2201@hotmail.com>

* Fixing attribute joinCodeRequired pass to goRoom

Signed-off-by: Daniel Maike <danmke@hotmail.com>

* Changed textinput style

Signed-off-by: Daniel Maike <danmke@hotmail.com>

Co-authored-by: Vitor Leal <vitor_leal2201@hotmail.com>

* Delete not necessary attribute

Signed-off-by: Daniel Maike <danmke@hotmail.com>

* Fixing input style

Co-authored-by: Vitor Leal <vitor_leal2201@hotmail.com>

* Undo unncessary changes

* use a join code modal

* tests: e2e tests to join protected channel

* fix: undo unnecessary change

* tests: cancel join code

* Remove some tests

* Minor fixes

Co-authored-by: Vitor Leal <vitor_leal2201@hotmail.com>
Co-authored-by: Fernando Aguilar <fernando.aguilar@hotmail.com.br>
Co-authored-by: Djorkaeff Alexandre <djorkaeff.unb@gmail.com>
Co-authored-by: youssef-md <emaildeyoussefmuhamad@gmail.com>
Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-12-01 14:30:39 -03:00
Djorkaeff Alexandre 3bc8161bc8
[CHORE] Force normalized params for 2FA (#2683)
Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-12-01 09:54:10 -03:00
Diego Mello 40490ea66c
[NEW] Channel actions (#2644)
* room roles

* handle owner

* endpoints

* Leader and Moderator

* Remove user from room

* stash ignore

* Add subscription.ignored column

* ignore user

* Fix icons

* I18n

* Minor i18n fixes

* Direct Message and open action sheet after a normal tap

* Fix icon

* stash isIgnored

* isManualUnignored message

* Fix update

* Ignored

* Mute, moderator, leader, owner, remove from room

* ignore

* Tests

* pt-BR

* Update pods

* Apply requested changes

* Add RC version on requests
2020-11-30 17:00:31 -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 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
Diego Mello fade17d0de
[IMPROVEMENT] Add `Change Encryption Password` and `Reset E2E Key` (#2542)
* init

* Basic tests passing

* Add SecurityPrivacyView

* List.Item

* section

* Start removing theme as prop

* Remove StatusBar theme prop

* SafeAreaView theme prop

* Minor fixes

* List.Container

* Add translateTitle and translateSubtitle props

* Storybook

* Show action indicator

* Header

* Info

* Theme stories

* FlatList

* DisplayName

* Fix settings

* FlatList tweaks

* ThemeView

* Screen Lock Config

* DefaultBrowserView

* PickerView and User Prefs

* Notification Prefs

* StatusView

* Auto Translate

* InviteUsersEdit

* Visitor

* Minor fixes

* Remove Separator

* Remove iteminfo

* Font scale

* Legal

* Jitsi and e2e

* Block

* search, star, etc

* auto translate and notifications

* RoomInfo

* Refactor RoomActions

* lint

* Remove DisclosureIndicator

* padding horizontal 12

* Detox

* Tests

* SecurityPrivacy

* E2E encryption sec view

* stash

* Reset own key

* Reset key

* Change password

* Hide content

* Small refactor

* Fix tests

* Tests passing

* Change test order

* add pt-br

* Address review comments

* tests

* Missing i18n ptbr

Co-authored-by: Djorkaeff Alexandre <djorkaeff.unb@gmail.com>
2020-10-30 15:31:04 -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
Djorkaeff Alexandre 857707fc61
[FIX] App always sends auth for Avatar requests (#2517)
* [FIX] Sending auth for Avatar requests when not necessary

* fix storybook

* Fix ShareListView not updating avatars

Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-10-30 12:54:02 -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
Djorkaeff Alexandre 101aad4956
[REGRESSION] HTTP Basic Auth (#2490) 2020-09-24 16:06:02 -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
Youssef Muhamad 639d667838
[NEW] Toggle analytics events (#2422)
* Create flow to toggle analytics events on memory

* Persist toggle analytics events

* Update crash report to contemplate analytics events

* Minor tweaks

Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-09-11 14:34:11 -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
Diego Mello 7172c028cc
[IMPROVEMENT] Move toggle and inquiry to Enterprise Edition license (#2426)
* [IMPROVEMENT] Move toggle and inquiry to Enterprise

* Move inquiry stream to ee

* Emit inquiry subscribe

* imports to ee last

* Add readme to ee

Co-authored-by: Djorkaeff Alexandre <djorkaeff.unb@gmail.com>
2020-08-28 16:41:08 -03:00
Djorkaeff Alexandre 0351276e30
[FIX] Logout from custom oauth when using password (#2435)
* [FIX] Logout from custom oauth when using password

* Remove an useless const

Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-08-28 12:54:15 -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
Youssef Muhamad 67ecab7169
[NEW] Logout from other logged in locations (#2386)
* Logout from other logged in locations

* Add UI feedback for the request result

* Refactor request to use the proper REST API

* Change backgroundColor

* I18n

Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-08-25 13:51:49 -03:00
Diego Mello b06bf7fcb5
[IMPROVEMENT] Verify Enterprise status on Omnichannel (#2399)
* Add enterpriseModules on Redux

* Fetch enterprise modules and put on redux

* hasLicense

* Clear modules

* Hide omnichannel rooms

* Minor refactor

* Hide omnichannel toggle

* Check license on user status

* Apply on search

* lint

* Look for 'livechat-enterprise'

* One module is enough to enable the features

* Unhide omnichannel rooms

* Sort tweaks

* Move omnichannel toggle to RoomsListView

* Remove omnichannel toggle from SettingsView

* Fix toggle

* Ask to enable omnichannel

* Lint

* Fix issues found on review
2020-08-21 10:38:50 -03:00
Ezequiel de Oliveira 54c4614e2e
[NEW] User notification preferences (#2403)
* Button to preferences view

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

* Create screen to preferences and listItem to notifications

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

* Refactoring NotificationPreferencesView

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

* List notification preferences

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

* Adding translations to labels

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

* SetUserPreferences api call

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

* Saving new user preference in API

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

* Fix lint

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

* Add in-app notification test

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

* Fix in app mentions preference

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

* Improve object in testInAppNotification

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

* Removing improper options for NotificationpreferencesView

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

* Adding API version

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

* Use redux in UserNotificationPrefView

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

* Remove in app test

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

* Use components from another view

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

* Removing verification for testing in-app notifications

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

* Move to ProfileView

Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-08-21 10:30:11 -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
Diego Mello 6555687891
[FIX] REST for method calls not raising errors (#2408)
* [FIX] REST for Method calls not raising erorrs

* Remove unnecessary lint disable
2020-08-19 14:13:02 -03:00
Diego Mello f0d9c9274c
[FIX] Quote not working on Group DM (#2372) 2020-08-05 13:48:46 -03:00
Djorkaeff Alexandre ac708dd32b
[NEW] Omnichannel inquiry queue (#2352)
* [WIP] Omnichannel queue

* Request inquiry when login

* Show take inquiry queued room

* Queue List as a Screen

* Poc using unread badge

* Prevent navigation to empty list

* Remove chat from queue when taked

* Fix header status on omnichannel preview room

* Fix room actions view to preview queued chat

* Use isOmnichannelPreview and dont show actions when is preview

* Filter queue chats taken by other people

* Fix room info to omnichannel preview room

* Handle show Queue

* Reset inquiry store when change server

* Improve queue logic

* Disable swipe on RoomItem when is a Queue Item

* Add unreadBadge style

* Move unread badge to presentation folder

* Cleanup inquiry reducers

* Move take saga to rocketchat function

* Remove comments

* Add relevant comments

* Subscribe to public stream if is livechat manager or doesnt have departments

* Add pt-br and improve queue empty message

* Fix take when dont have view-livechat-manager permission

* Add missing events

* Create selector for inquiry queue

* Minor fixes

Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-07-31 15:22:30 -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
Diego Mello 8a24eb0722
[NEW] Sign in with Apple (#2282)
* Add expo-apple-authentication

* Button

* Create new provisioning profiles

* Login with Apple

* Change provisioning profile

* Button color based on theme

Co-authored-by: Djorkaeff Alexandre <djorkaeff.unb@gmail.com>
2020-07-14 13:07:45 -03:00
Djorkaeff Alexandre 146babc3dd
[REGRESSION] Jitsi Call doesn't send message link (#2277) 2020-07-10 09:52:03 -03:00
Djorkaeff Alexandre 83fbb8c304
[FIX] Emoji keyboard not showing custom and frequently used emojis on Share Extension (#2251) 2020-07-08 13:19:41 -03:00
Djorkaeff Alexandre 4def17c2e9
[IMPROVEMENT] Mark thread as read on open (#2225)
* [IMPROVEMENT] Mark a thread as read

* Use methodCallWrapper

* Check server version

Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-06-29 15:47:48 -03:00
Djorkaeff Alexandre e34b7cbb87
[CHORE] Add wrapper to make Meteor methods calls over REST (#2104)
* [WIP] Use rest instead methodCall

* [WIP] Some method calls using wrapper

* [WIP] Wrap all necessary methodCalls

* fix

Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-06-29 14:57:39 -03:00
Djorkaeff Alexandre 8fe0615e68
[FIX] Typing when UI_Use_Real_Name is enabled (#2216)
Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-06-26 17:48:40 -03:00
Djorkaeff Alexandre ff74f6ec9e
[NEW] Omnichannel Status Toggle (#2217)
Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-06-26 17:45:21 -03:00
Djorkaeff Alexandre 5dcf2212e0
[FIX] 2FA email - send code again (#2188)
Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-06-12 16:42:10 -03:00
Djorkaeff Alexandre a4914d73cb
[FIX] Sometimes SDK is null when try to connect (#2131)
Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-05-18 14:55:53 -03:00
Djorkaeff Alexandre 70462f7c6f
[FIX] Roles throwing error (#2110)
Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-05-13 16:04:50 -03:00
Djorkaeff Alexandre 9e89316e2a
[NEW] Livechat (#2004)
* [WIP][NEW] Livechat info/actions

* [IMPROVEMENT] RoomActionsView

* [NEW] Visitor Navigation

* [NEW] Get Department REST

* [FIX] Borders

* [IMPROVEMENT] Refactor RoomInfo View

* [FIX] Error while navigate from mention -> roomInfo

* [NEW] Livechat Fields

* [NEW] Close Livechat

* [WIP] Forward livechat

* [NEW] Return inquiry

* [WIP] Comment when close livechat

* [WIP] Improve roomInfo

* [IMPROVEMENT] Forward room

* [FIX] Department picker

* [FIX] Picker without results

* [FIX] Superfluous argument

* [FIX] Check permissions on RoomActionsView

* [FIX] Livechat permissions

* [WIP] Show edit to livechat

* [I18N] Add pt-br translations

* [WIP] Livechat Info

* [IMPROVEMENT] Livechat info

* [WIP] Livechat Edit

* [WIP] Livechat edit

* [WIP] Livechat Edit

* [WIP] Livechat edit scroll

* [FIX] Edit customFields

* [FIX] Clean livechat customField

* [FIX] Visitor Navigation

* [NEW] Next input logic LivechatEdit

* [FIX] Add livechat data to subscription

* [FIX] Revert change

* [NEW] Livechat user Status

* [WIP] Livechat tags

* [NEW] Edit livechat tags

* [FIX] Prevent some crashes

* [FIX] Forward

* [FIX] Return Livechat error

* [FIX] Prevent livechat info crash

* [IMPROVEMENT] Use input style on forward chat

* OnboardingSeparator -> OrSeparator

* [FIX] Go to next input

* [NEW] Added some icons

* [NEW] Livechat close

* [NEW] Forward Room Action

* [FIX] Livechat edit style

* [FIX] Change status logic

* [CHORE] Remove unnecessary logic

* [CHORE] Remove unnecessary code

* [CHORE] Remove unecessary case

* [FIX] Superfluous argument

* [IMPROVEMENT] Submit livechat edit

* [CHORE] Remove textInput type

* [FIX] Livechat edit

* [FIX] Livechat Edit

* [FIX] Use same effect

* [IMPROVEMENT] Tags input

* [FIX] Add empty tag

* Fix minor issues

* Fix typo

* insert livechat room data to our room object

* review

* add method calls server version

Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-05-08 14:36:10 -03:00
Diego Mello 61afa86c0e
[NEW] Passcode and biometric unlock (#2059)
* Update expo libs

* Configure expo-local-authentication

* ScreenLockedView

* Authenticate server change

* Auth on app resume

* localAuthentication util

* Add servers.lastLocalAuthenticatedSession column

* Save last session date on background

* Use our own version of app state redux

* Fix libs

* Remove inactive

* ScreenLockConfigView

* Apply on saved data

* Auto lock option label

* Starting passcode

* Basic passcode flow working

* Change passcode

* Check if biometry is enrolled

* Use fork

* Migration

* Patch expo-local-authentication

* Use async storage

* Styling

* Timer

* Refactor

* Lock orientation portrait when not on tablet

* share extension

* Deep linking

* Share extension

* Refactoring passcode

* use state

* Stash

* Refactor

* Change passcode

* Animate dots on error

* Matching passcodes

* Shake

* Remove lib

* Delete button

* Fade animation on modal

* Refactoring

* ItemInfo

* I18n

* I18n

* Remove unnecessary prop

* Save biometry column

* Raise time to lock to 30 seconds

* Vibrate on wrong confirmation passcode

* Reset attempts and save last authentication on local passcode confirmation

* Remove inline style

* Save last auth

* Fix header blink

* Change function name

* Fix android modal

* Fix vibration permission

* PasscodeEnter calls biometry

* Passcode on the state

* Biometry button on PasscodeEnter

* Show whole passcode

* Secure passcode

* Save passcode with promise to prevent empty passcodes and immediately lock

* Patch expo-local-authentication

* I18n

* Fix biometry being called every time

* Blur screen on app inactive

* Revert "Blur screen on app inactive"

This reverts commit a4ce812934adcf6cf87eb1a92aec9283e2f26753.

* Remove immediately because of how Activities work on Android

* Pods

* New layout

* stash

* Layout refactored

* Fix icons

* Force set passcode from server

* Lint

* Improve permission message

* Forced passcode subtitle

* Disable based on admin's choice

* Require local authentication on login success

* Refactor

* Update tests

* Update react-native-device-info to fix notch

* Lint

* Fix modal

* Fix icons

* Fix min auto lock time

* Review

* keep enabled on mobile

* fix forced by admin when enable unlock with passcode

* use DEFAULT_AUTO_LOCK when manual enable screenLock

* fix check has passcode

* request biometry on first password

* reset auto time lock when disabled on server

Co-authored-by: Djorkaeff Alexandre <djorkaeff.unb@gmail.com>
2020-05-08 14:04:37 -03:00
Diego Mello ce51982bb0
Update all dependencies (#2008)
* Android RN 62

* First steps iOS

* Second step iOS

* iOS compiling

* "New" build system

* Finish iOS

* Flipper

* Update to RN 0.62.1

* expo libs

* Hermes working

* Fix lint

* Fix android build

* Patches

* Dev patches

* Patch WatermelonDB: https://github.com/Nozbe/WatermelonDB/pull/660

* Fix jitsi

* Update several minors

* Update dev minors and lint

* react-native-keyboard-input

* Few updates

* device info

* react-native-fast-image

* Navigation bar color

* react-native-picker-select

* webview

* reactotron-react-native

* Watermelondb

* RN 0.62.2

* Few updates

* Fix selection

* update gems

* remove lib

* finishing

* tests

* Use node 10

* Re-enable app bundle

* iOS build

* Update jitsi ios
2020-05-08 13:37:49 -03:00
Djorkaeff Alexandre c578f1bbe8
[IMPROVEMENT] Change server while connecting/updating (#1981)
* [IMPROVEMENT] Change server while connecting

* [FIX] Not login/reconnect to previous server

* [FIX] Abort all fetch while connecting

* [FIX] Abort sdk fetch

* [FIX] Patch-package

* Add comments

Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-05-05 10:11:28 -03:00
Djorkaeff Alexandre ee5b7592b4
[NEW] Delete Server (#1975)
* [NEW] Delete server

Co-authored-by: Bruno Dantas <oliveiradantas96@gmail.com>
Co-authored-by: Calebe Rios <calebersmendes@gmail.com>

* [FIX] Revert removed function

Co-authored-by: Bruno Dantas <oliveiradantas96@gmail.com>
Co-authored-by: Calebe Rios <calebersmendes@gmail.com>

* pods

* i18n

* Revert "pods"

This reverts commit 2854a1650538159aeeafe90fdb2118d12b76a82f.

Co-authored-by: Bruno Dantas <oliveiradantas96@gmail.com>
Co-authored-by: Calebe Rios <calebersmendes@gmail.com>
Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-05-04 17:20:45 -03:00
Prateek Jain a52056988e
[FIX] MessageBox mention shouldn't show group DMs (#2049)
* fixed-issue

* [FIX] Filter users only if it's not a group chat

Co-authored-by: Djorkaeff Alexandre <djorkaeff.unb@gmail.com>
Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-04-30 15:10:19 -03:00
Prateek Jain c4a749c2e5
[FIX] Send totp-code to meteor call (#2050)
* fixed-issue

* removed-variable-name-errors

* reverted-last-commit

Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-04-30 15:09:17 -03:00
Djorkaeff Alexandre 3f79ab7953
[FIX] Prevent crash when room.uids was not inserted yet (#2055)
Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-04-30 15:07:07 -03:00
Djorkaeff Alexandre 200f94e244
[FIX] Respect UI_Allow_room_names_with_special_chars setting (#2076)
Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-04-30 13:24:49 -03:00
Djorkaeff Alexandre 2b3ccf4df5
[FIX] Login TOTP Compatibility to older servers (#2018)
* [FIX] Login TOTP Compatibility to older servers

* [FIX] Android crashes if use double negation

Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-04-13 10:25:31 -03:00
Djorkaeff Alexandre 404c381ca2
[FIX] Read only channel/broadcast (#1951)
* [FIX] Read only channel/broadcast

* [FIX] Roles missing

* [FIX] Check roles to readOnly

* [FIX] Can post

* [FIX] Respect post-readonly permission

* [FIX] Search a room readOnly

Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-04-13 09:51:16 -03:00
Djorkaeff Alexandre 2e65a795df
[FIX] DM header blink (#2011) 2020-04-09 02:20:57 -03:00
Djorkaeff Alexandre c24c16c932
[FIX] Change user own status (#1995)
* [FIX] Change user own status

* [IMPROVEMENT] Set activeUsers

Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-04-06 16:32:58 -03:00
Djorkaeff Alexandre ee0e7bb9d1
[FIX] Investigate app losing connection issues (#1890)
* [WIP] Reopen without timeOut & ping with 5 sec & Fix Unsubscribe

* [FIX] Remove duplicated close

* [FIX] Use no-dist lib

* [FIX] Try minor fix

* [FIX] Try reopen connection when app was put on foreground

* [FIX] Remove timeout

* [FIX] Build

* [FIX] Patch

* [FIX] Snapshot

* [IMPROVEMENT] Decrease time to reopen

* [FIX] Some fixes

* [FIX] Update sdk version

* [FIX] Subscribe Room Once

* [CHORE] Update sdk

* [FIX] Subscribe Room

* [FIX] Try to resend missed subs

* [FIX] Users never show status when start app without network

* [FIX] Subscribe to room

* [FIX] Multiple servers

* [CHORE] Update SDK

* [FIX] Don't duplicate streams on subscribeAll

* [FIX] Server version when start the app offline

* [FIX] Server version cached

* [CHORE] Remove unnecessary code

* [FIX] Offline server version

* [FIX] Subscribe before connect

* [FIX] Remove unncessary props

* [FIX] Update sdk

* [FIX] User status & Unsubscribe Typing

* [FIX] Typing at incorrect room

* [FIX] Multiple Servers

* [CHORE] Update SDK

* [REVERT] Undo some changes on SDK

* [CHORE] Update sdk to prevent incorrect subscribes

* [FIX] Prevent no reconnect

* [FIX] Remove close on open

* [FIX] Clear typing when disconnect/connect to SDK

* [CHORE] Update SDK

* [CHORE] Update SDK

* Update SDK

* fix merge develop

Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-04-03 15:03:53 -03:00
Djorkaeff Alexandre d810c28c30
[FIX] Direct Message between multiple users REST (#1974) 2020-04-03 15:02:10 -03:00
Diego Mello 6982d7676a
[NEW] Two Factor authentication via email (#1961)
* First api call working

* [NEW] REST API Post wrapper 2FA

* [NEW] Send 2FA on Email

* [I18n] Add translations

* [NEW] Translations & Cancel totp

* [CHORE] Totp -> TwoFactor

* [NEW] Two Factor by email

* [NEW] Tablet Support

* [FIX] Text colors

* [NEW] Password 2fa

* [FIX] Encrypt password on 2FA

* [NEW] MethodCall2FA

* [FIX] Password fallback

* [FIX] Wrap all post/methodCall with 2fa

* [FIX] Wrap missed function

* few fixes

* [FIX] Use new TOTP on Login

* [improvement] 2fa methodCall

Co-authored-by: Djorkaeff Alexandre <djorkaeff.unb@gmail.com>
2020-04-01 17:32:24 -03:00
Diego Mello e62a7e84c8
[FIX] Add server and hide login (#1968)
* Navigate to new server workspace from ServerDropdown if there's no token

* Hide login button based on login services and Accounts_ShowFormLogin setting

* [FIX] Lint

Co-authored-by: Djorkaeff Alexandre <djorkaeff.unb@gmail.com>
2020-04-01 12:56:08 -03:00
Djorkaeff Alexandre 076e5e87c6
[NEW] Direct Message between multiple users (#1958)
* [WIP] DM between multiple users

* [WIP][NEW] Create new DM between multiple users

* [IMPROVEMENT] Improve createChannel Sagas

* [IMPROVEMENT] Selected Users view

* [IMPROVEMENT] Room Actions of Group DM

* [NEW] Create new DM between multiple users

* [NEW] Group DM avatar

* [FIX] Directory border

* [IMPROVEMENT] Use isGroupChat

* [CHORE] Remove legacy getRoomMemberId

* [NEW] RoomTypeIcon

* [FIX] No use legacy method on RoomInfoView

* [FIX] Blink header when create new DM

* [FIX] Only show create direct message option when allowed

* [FIX] RoomInfoView

* pt-BR

* Few fixes

* Create button name

* Show create button only after a user is selected

* Fix max users issues

Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-04-01 09:28:54 -03:00
Djorkaeff Alexandre d8c8817f04
[NEW] Custom Status (#1811)
* [NEW] Custom Status

* [FIX] Subscribe to changes

* [FIX] Improve code using Banner component

* [IMPROVEMENT] Toggle modal

* [NEW] Edit custom status from Sidebar

* [FIX] Modal when tablet

* [FIX] Styles

* [FIX] Switch to react-native-promp-android

* [FIX] Custom Status UI

* [TESTS] E2E Custom Status

* Fix banner

* Fix banner

* Fix subtitle

* status text

* Fix topic header

* Fix RoomActionsView topic

* Fix header alignment on Android

* [FIX] RoomInfo crashes when without statusText

* [FIX] Use users.setStatus

* [FIX] Remove customStatus of ProfileView

* [FIX] Room View Thread Header

Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-03-30 17:19:01 -03:00
Djorkaeff Alexandre 475ccbd9c7
[NEW] Create discussions (#1942)
* [WIP][NEW] Create Discussion

* [FIX] Clear multiselect & Translations

* [NEW] Create Discussion at MessageActions

* [NEW] Disabled Multiselect

* [FIX] Initial channel

* [NEW] Create discussion on MessageBox Actions

* [FIX] Crashing on edit name

* [IMPROVEMENT] New message layout

* [CHORE] Update README

* [NEW] Avatars on MultiSelect

* [FIX] Select Users

* [FIX] Add redirect and Handle tablet

* [IMPROVEMENT] Split CreateDiscussionView

* [FIX] Create a discussion inner discussion

* [FIX] Create a discussion

* [I18N] Add pt-br

* Change icons

* [FIX] Nav to discussion & header title

* Fix header

Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-03-30 16:50:27 -03:00
Diego Mello ff807d705c
[FIX] Separate delete and remove channel (#1832)
* Rename to delete room

* Separate delete and remove channel

* handleRemoved -> handleRoomRemoved

* [FIX] Navigate to RoomsList & Handle tablet case

Co-authored-by: Djorkaeff Alexandre <djorkaeff.unb@gmail.com>
2020-03-06 10:13:24 -03:00
Djorkaeff Alexandre 6ada35e460
[IMPROVEMENT] Request user presence on demand (#1813)
Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-03-03 18:10:39 -03:00
Djorkaeff Alexandre cfab64283d
[FIX] LoginSignup blink services (#1809)
Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-03-03 17:53:48 -03:00
Youssef Muhamad 9d615d5ffb
[NEW] Mark message as unread (#1785)
Co-authored-by: Djorkaeff Alexandre <djorkaeff.unb@gmail.com>
2020-02-28 16:31:19 -03:00
Djorkaeff Alexandre e0d4230272
[FIX] Setting not present (#1775)
Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-02-28 14:32:04 -03:00
Djorkaeff Alexandre c583e0c8f5
[IMPROVEMENT] Remove useMarkdown (#1774)
Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-02-27 15:34:20 -03:00
Djorkaeff Alexandre 7a4dfef533
[NEW] Hide system messages (#1755)
Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-02-20 17:43:56 -03:00
Djorkaeff Alexandre 5f8108d8ff
[IMPROVEMENT] Honor Register/Login settings (#1727)
Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-02-20 17:08:20 -03:00
Djorkaeff Alexandre a9e61c5d8b
[FIX] HTTP Basic Auth (#1753)
Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-02-20 09:58:13 -03:00
Diego Mello 58e5781ed2
[FIX] Spotlight (#1719) 2020-02-13 16:24:39 -03:00
Djorkaeff Alexandre 3a87872415
[FIX] Small fixes on UIKit (#1709) 2020-02-12 14:21:11 -03:00
Djorkaeff Alexandre 836683591c
[IMPROVEMENT] Send tmid on slash commands and media (#1698) 2020-02-11 12:56:06 -03:00
Djorkaeff Alexandre b87472f10b
[NEW] UiKit Beta (#1497) 2020-02-11 11:01:35 -03:00
Djorkaeff Alexandre b90cf9e486
[NEW] Omnichannel Beta (#1674) 2020-02-07 10:24:16 -03:00
Diego Mello 155df774bc
[NEW] Clear cache (#1660) 2020-02-05 12:12:40 -03:00
Djorkaeff Alexandre 97cc18313d
[FIX] Unsubscribe from room (#1655) 2020-02-05 10:34:53 -03:00
Diego Mello d2df4c6de5
[NEW] Wordpress auth (#1633) 2020-01-29 09:30:59 -03:00
Diego Mello 0673081465
[NEW] Invite links (#1534) 2020-01-28 10:22:35 -03:00
Diego Mello cd37a9b4ec
[FIX] Share extension doesn't reconnect to previous selected server on Android (#1429) 2019-12-04 13:41:37 -03:00
Diego Mello 7b51df377d
[NEW] Themes (#1298) 2019-12-04 13:39:53 -03:00
Diego Mello 02c6a674fe
[IMPROVEMENT] Authentication via deep linking (#1418) 2019-11-27 17:52:49 -03:00
Djorkaeff Alexandre 5ff07a65fe [FIX] Server Version (#1392) 2019-11-18 14:50:00 -03:00
Diego Mello 6f95bb0d17
[FIX] Batch server deletion on logout (#1382) 2019-11-13 16:53:57 -03:00
Djorkaeff Alexandre 1b2833107f [IMPROVEMENT] Error messages on connect (#1379) 2019-11-13 16:52:00 -03:00
Diego Mello 11e1778f77
[FIX] Crowd login (#1381) 2019-11-13 13:02:36 -03:00
Djorkaeff Alexandre 8bffe1f28c [FIX] Invalid server version (#1319) 2019-10-28 10:37:12 -03:00
Djorkaeff Alexandre 6df7d7b3c3 [FIX] Set User-Agent (#1318)
* Set User-Agent Fetch & Websocket & XHR

* Set User-Agent

* Custom User Agent on fetch/websocket

* Fix names

* Use DeviceInfo
2019-10-18 13:20:01 -03:00
Diego Mello 145e5c6b55
[FIX] Watermelon batches (#1277) 2019-10-08 09:36:15 -03:00
Djorkaeff Alexandre 6fd722a0d8 [FIX] Select user from native credentials (#1266) 2019-10-02 09:55:25 -03:00
Djorkaeff Alexandre 99aea22579 [NEW] Jitsi integration (#1196)
* Stash

* Rooms list listing :)

* Animated set state

* Search working

* Fix load rooms on login

* stash db class

* set active db with path

* Remove db on logout

* stash

* Created updateMessages

* Inserting/updating threads

* Persisting thread messages

* Removed unused list

* Loading messages from watermelon

* Debounce updates and rerender message

* optional fields

* Fix realm conflict issues

* Fix some render issues

* stash

* List mount

* stash

* fix message id

* Fix tmsg

* - Save subscription.rid as id on watermelon and _id as _id
- Send room as param to room view

* Throttle room updates

* stash

* comment removeClippedSubviews

* Fetch thread name

* try/catch updateMessages

* Show loading while RoomView.init is still running

* stash

* Fix updateMessages

* Threads

* Delete message

* Permalink

* Pin

* Star

* Report

* MessageActions refactor

* Edit message

* Reply message

* Add reaction

* Auto translate

* Fix connection issues

* Mark message as error if something happened on the call

* Error actions

* get custom emoji

* Always run console.log when __DEV__

* Try to create serversDB

* Don't call updateMessages. Execute that entire logic for one message id instead.

* Refactor update messages

* ServersDB User [Realm -> Watermelon]

* Fix models

* Custom emojis

* Custom emojis on emoji picker

* Frequently used emojis

* Fix add reaction on message

* stash

* Fix

* Read messages

* Fix thread

* Fetch thread header

* Follow/unfollow thread

* Fix thread

* Upload file

* Thread tweak

* Realm -> Watermelon [Share Extension]

* Add RoomsUpdatedAt to Servers Table

* Settings

* Settings

* Fix logout

* SendFileMessage ServersDB

* ServersDB on serverDropdown

* Remove serversDB from Realm

* Load thread messages

* Delete message

* Improve getSettings

* Improve

* Remove subscription

* Remove update

* Update room via socket

* Small refactor

* Fix logout and improve migration

* Refactor updateMessages

* Improve migration

* Remove unnecessary update

* Revert remove runAfterInteractions

* Fix serverDropdown

* Fix merge

* Init room actions Watermelon

* Room actions Watermelon

* Remove realm on room members

* Room swipe -> Watermelon

* Fix hideChannel

* Get roles watermelon

* Get permissions watermelon

* Users typing + memory db

* Auto translate watermelon

* New Message View

* Selected Users View

* try/catch

* Get Slash Commands watermelon

* Slash Commands message box

* Custom emojis message box

* Get rooms message box

* Room info view

* Room info edit

* Save active users

* Small refactor

* Message Actions

* hasPermission await

* last hasPermission fix

* Active users on redux

* Add user roles

* Users typing on redux and remove memory db

* Fix saga delay

* Fix few issues

* Fix slash commands preview

* Draft message

* Add muted

* Unread count watermelon

* Remove realm

* Fiz RoomItem rerenders

* Remove realm config

* Rerender status update on RoomItem

* Refactor RoomsListView

* Fix load missed messages

* Fix room update

* Message refactor

* Fixing lint

* Jitsi config (iOS)

* removeClippedSubviews on iOS only

* Added few interaction managers

* Create jitsiBaseURL

* Call buttons

* Fix few rerenders

* Fix RoomItem status typo

* Fix RoomView.SCU

* Fix broadcast

* Fix user status on RoomActionsView

* Jitsi config (Android)

* Fix RocketChat.hasPermission

* Fix database inconsistencies

* Fix few update issues

* Add rxjs and remove with observables

* Fix tests

* Remove subscriptions

* Fix RoomsListView SCU

* Change database structure and set all schemas to 1

* Fix RoomsListView search

* Call Jitsi method

* Create onlyAudio option (iOS)

* Create onlyAudio option (Android)

* Fixed errors, removed rerenders and added animation

* Fixed a few errors

* Fix lint

* Fix issues caught by LGTM

* fix ios build

* Revert patch

* jitsiTimeout

* Self-builded Android SDK

* Fix load unjoined channel messages

* Log on database path on startup

* Fix join channel

* Remove react-native-realm-path

* Set user status on login.user reducer

* Fix status not rendering on RoomsListView

* Fix few reducers

* Fix users going offline

* Never use "watermelon" term directly. Replaced by "database"

* Fix jitsiTimeout

* Fix custom emoji

* Fix duplicated call messsage

* Creating room from app must update roomUpdatedAt

* Log subscribeRoom start

* Fix room subscribe right after creating a DM

* Fix jest

* Move self-builded sdk to node_modules

* Refactor is read only on messages actions

* Fix typo

* Fix typo

* Review

* Fix schema

* Fix muted & freq emoji & unpin & unstar

* Remove throttleTime to room info & fix reset on edit room

* Fix openServerDropdown spec & Fix unarchive

* Fix MessageAction

* Refactor RoomInfoEditView

* Remove unnecessary condition

* Remove unnecessary condition

* Remove unnecessary condition

* Remove get database

* Rename Command.js to SlashCommand.js

* Create sanitizer util

* Fix indentation

* Create subscription.t index

* Refactor queries on RoomsListView

* Create subscription.name index

* Fix getPermissions

* Fix indentation

* Add missing await

* Fix rocketchat.hasPermission

* Unnecessary change

* Star, pin e delete message refactored

* Refactor customEmojis reducer

* Remove code

* Remove logs

* Remove throttle

* Call this.init on foreground focus on RoomView

* Bump servers schema migration

* Always mark message as sent after a success

* Fetch only messages needed on updateMessages

* Just leave a comment for now

* Fetch only subscriptions returned by fetch

* Fix send message

* Create migration - jitsi_timeout

* Fixes & Update e2e tests

* Add translations pt-br

* Bind callJitsi on RocketChat

* Remove unnecessary mocks

* Remove listeners when call finished

* Use gradlew instead self-builded sdk

* Fix lastmessage call username

* Add react-native-background-timer

* Fix background interval

* Remove unnecessary timeout

* Clear timeout in case there's one active

* Add catch to method call
2019-09-18 14:32:12 -03:00
Diego Mello 9ba37107c7
[CHORE] Migrate to Watermelon (#1171)
* Install

* Create subscriptions

* Subscription observing and sorting

* Saving last message

* Stash

* Stash

* stash

* Stash

* Rooms list listing :)

* Animated set state

* Search working

* Fix load rooms on login

* stash db class

* set active db with path

* Remove db on logout

* stash

* Created updateMessages

* Inserting/updating threads

* Persisting thread messages

* Removed unused list

* Loading messages from watermelon

* Debounce updates and rerender message

* optional fields

* Fix realm conflict issues

* Fix some render issues

* stash

* List mount

* stash

* fix message id

* Fix tmsg

* - Save subscription.rid as id on watermelon and _id as _id
- Send room as param to room view

* Throttle room updates

* stash

* comment removeClippedSubviews

* Fetch thread name

* try/catch updateMessages

* Show loading while RoomView.init is still running

* stash

* Fix updateMessages

* Threads

* Delete message

* Permalink

* Pin

* Star

* Report

* MessageActions refactor

* Edit message

* Reply message

* Add reaction

* Auto translate

* Fix connection issues

* Mark message as error if something happened on the call

* Error actions

* get custom emoji

* Always run console.log when __DEV__

* Try to create serversDB

* Don't call updateMessages. Execute that entire logic for one message id instead.

* Refactor update messages

* ServersDB User [Realm -> Watermelon]

* Fix models

* Custom emojis

* Custom emojis on emoji picker

* Frequently used emojis

* Fix add reaction on message

* stash

* Fix

* Read messages

* Fix thread

* Fetch thread header

* Follow/unfollow thread

* Fix thread

* Upload file

* Thread tweak

* Realm -> Watermelon [Share Extension]

* Add RoomsUpdatedAt to Servers Table

* Settings

* Settings

* Fix logout

* SendFileMessage ServersDB

* ServersDB on serverDropdown

* Remove serversDB from Realm

* Load thread messages

* Delete message

* Improve getSettings

* Improve

* Remove subscription

* Remove update

* Update room via socket

* Small refactor

* Fix logout and improve migration

* Refactor updateMessages

* Improve migration

* Remove unnecessary update

* Revert remove runAfterInteractions

* Fix serverDropdown

* Fix merge

* Init room actions Watermelon

* Room actions Watermelon

* Remove realm on room members

* Room swipe -> Watermelon

* Fix hideChannel

* Get roles watermelon

* Get permissions watermelon

* Users typing + memory db

* Auto translate watermelon

* New Message View

* Selected Users View

* try/catch

* Get Slash Commands watermelon

* Slash Commands message box

* Custom emojis message box

* Get rooms message box

* Room info view

* Room info edit

* Save active users

* Small refactor

* Message Actions

* hasPermission await

* last hasPermission fix

* Active users on redux

* Add user roles

* Users typing on redux and remove memory db

* Fix saga delay

* Fix few issues

* Fix slash commands preview

* Draft message

* Add muted

* Unread count watermelon

* Remove realm

* Fiz RoomItem rerenders

* Remove realm config

* Rerender status update on RoomItem

* Refactor RoomsListView

* Fix load missed messages

* Fix room update

* Message refactor

* Fixing lint

* removeClippedSubviews on iOS only

* Added few interaction managers

* Fix few rerenders

* Fix RoomItem status typo

* Fix RoomView.SCU

* Fix broadcast

* Fix user status on RoomActionsView

* Fix RocketChat.hasPermission

* Fix database inconsistencies

* Fix few update issues

* Add rxjs and remove with observables

* Fix tests

* Remove subscriptions

* Fix RoomsListView SCU

* Change database structure and set all schemas to 1

* Fix RoomsListView search

* Fixed errors, removed rerenders and added animation

* Fixed a few errors

* Fix lint

* Fix issues caught by LGTM

* fix ios build

* Fix load unjoined channel messages

* Log on database path on startup

* Fix join channel

* Remove react-native-realm-path

* Set user status on login.user reducer

* Fix status not rendering on RoomsListView

* Fix few reducers

* Fix users going offline

* Never use "watermelon" term directly. Replaced by "database"

* Fix custom emoji

* Creating room from app must update roomUpdatedAt

* Log subscribeRoom start

* Fix room subscribe right after creating a DM

* Refactor is read only on messages actions

* Fix typo

* Fix typo

* Review

* Fix schema

* Fix muted & freq emoji & unpin & unstar

* Remove throttleTime to room info & fix reset on edit room

* Fix openServerDropdown spec & Fix unarchive

* Fix MessageAction

* Refactor RoomInfoEditView

* Remove unnecessary condition

* Remove unnecessary condition

* Remove unnecessary condition

* Remove get database

* Rename Command.js to SlashCommand.js

* Create sanitizer util

* Fix indentation

* Create subscription.t index

* Refactor queries on RoomsListView

* Create subscription.name index

* Fix getPermissions

* Fix indentation

* Add missing await

* Fix rocketchat.hasPermission

* Unnecessary change

* Star, pin e delete message refactored

* Refactor customEmojis reducer

* Remove code

* Remove logs

* Remove throttle

* Call this.init on foreground focus on RoomView

* Bump servers schema migration

* Always mark message as sent after a success

* Fetch only messages needed on updateMessages

* Just leave a comment for now

* Fetch only subscriptions returned by fetch

* Set room param on RoomView header in find room

* Update kotlin

* Fix auto translate constructor

* Fix few setState on constructor

* Fix empty room image blinking while mounting

* Improve fetch/persist execution for custom emojis, permissions and settings

* Query only user tapped on RoomMembersView

* Fix typo on canOpenRoom
2019-09-16 17:26:32 -03:00
Djorkaeff Alexandre 2515295fc6 [NEW] Support client certificates for SSL (two-way authentication) (#1125) 2019-09-02 13:19:05 -03:00
Diego Mello 0aeedbb2f2
[FIX] Unsubscribe rooms listeners on server change (#1153) 2019-08-27 14:41:07 -03:00
IlarionHalushka 59a71ffaef [CHORE] Bugsnag logging setup (#1145)
* initial bugsnag setup

* upload sourcemaps to bugsnag during ios-build job

* fix: spacing in config.yml

* add yarn global add react-native

* add separate step: Upload sourcemaps to Bugsnag

* add brew install watchman

* install react-native-cli, remove install watchman

* upload source maps for android build

* add yarn add global react-native react-native-cli for android-build ci job

* add working_directory to android-build

* install npm i -g react-native react-native-cli

* add Install Node step to android-build job

* export path to node to bash_profile

* add step Install React Native CLI to android build job

* use yarn generate-source-maps in ci; exchange firebase log -> bugsnag log

* implement send(toggle) crash reports button

* move BUGSNAG_API_KEY to config file; remove generated source maps files

* unlink bugsnag

* add ios/Pods files connected to Bugsnag; fix ci android build job

* export firebase analytics also from /utils/log

* use `log(e)` instead of `log(error)`

* API Key changes

* pod install

* Fix iOS build

* Simulate error

* lint

* Add navigation

* Use projectRoot

* Revert project root

* - Don't run on forks
- Upload dSYMs

* Remove error sim

* Remove automatic dSYMs upload

* Remove fastlane-plugin-bugsnag
2019-08-23 10:18:47 -03:00
Filipe Brito 3a247454ca [IMPROVEMENT] Checks if custom OAuth button should be shown (#1140) 2019-08-22 16:24:27 -03:00
pranavpandey1998official 857d23ee88 [IMPROVEMENT] Tap on avatar/username/channel to show info (#1097)
* added feature to tab on mentions and avtar

* fixed lint

* removed room param from roomActionView

* removed room param from roomActionView

* Update tests
2019-08-22 15:08:07 -03:00
Filipe Brito e351a77a6b [NEW] CAS authentication (#1116) 2019-08-12 15:37:42 -03:00
Filipe Brito 59426f470b [NEW] SAML authentication support (#1108) 2019-08-09 14:28:46 -03:00
Johannes Buechele 6a3523d6bf [NEW] Custom OAuth (#1093) 2019-08-07 11:36:53 -03:00
Djorkaeff Alexandre d80dd0e2ce [FIX] Share Extension issues (#1064) 2019-07-29 13:33:28 -03:00