Commit Graph

270 Commits

Author SHA1 Message Date
Gerzon Z 99a32479f4
[FIX] Support chats order for older versions of the server (#2934)
* Update mergeSubscriptionsRooms.js

* Update mergeSubscriptionsRooms.js

* Update mergeSubscriptionsRooms.js

* Minor refactor

Co-authored-by: Diego Mello <diegolmello@gmail.com>
2021-02-26 15:31:35 -03:00
Gung Wah 98890df773
[CHORE] Use shortcut syntax for get collections (#2932)
Co-authored-by: Diego Mello <diegolmello@gmail.com>
2021-02-26 13:25:51 -03:00
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
Gerzon Z ef00edc29d
[FIX] Temp message ignoring real name (#2919)
Co-authored-by: Diego Mello <diegolmello@gmail.com>
2021-02-23 16:05:34 -03:00
Gung Wah 3a950547f3
[CHORE] Remove InteractionManager blocks (#2906)
* [FIX] Remove InteractionManager blocks

* Minor fix

Co-authored-by: Diego Mello <diegolmello@gmail.com>
2021-02-23 15:36:20 -03:00
Gung Wah 450aca4d7c
[FIX] DM rooms show typing status from last group room (#2878)
* [FIX] DM rooms show typing status from last group room

* Undo changes

* Check if current typing is from focused room before dispatching to redux

Co-authored-by: Diego Mello <diegolmello@gmail.com>
2021-02-23 13:57:18 -03:00
Diego Mello f579641660
[FIX] Support Jitsi_URL_Room_Hash (#2905) 2021-02-22 18:37:13 -03:00
Diego Mello acd5f04314
[FIX] Share extension memory issues on iOS (#2845)
* Remove unnecessary class prop

* Stop rendering servers when there's only one

* Map and alloc only necessary columns from query

* Fetch servers count instead of all servers records

* Fetch only needed servers

* Separators

* Remove renderContent

* Minor fix

* Refactor query

* Smaller avatars in memory

* Fix getItemLayout

* Add topic

* Load less pods

* tests

* Import only used functions from lodash

* Fix pods

* Import only used functions from semver

* Fix media sharing

* Update pods

* Disables preview and thumb on iOS

* Update expo-video-thumbnail

* Unnecessary change
2021-02-01 14:18:55 -03:00
Diego Mello b8a9523e58
[FIX] Channels list not following the same sorting logic from web client (#2763) 2021-01-05 09:53:42 -03:00
Diego Mello 999883e4d6
[FIX] Chats order (#2688)
* Persist highest value on subscription.roomUpdatedAt

* Update tests

Co-authored-by: Djorkaeff Alexandre <djorkaeff.unb@gmail.com>
2020-12-04 16:25:51 -03:00
Djorkaeff Alexandre 2403eb3857
[FIX] Filenames are incorrect in non-latin alphabets on upload (#2671)
* fix: filename on react-native-image-crop-picker

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

* fix: FileUpload as a service

* fix: cancel upload on iOS

* fix: file upload from share extension

Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-12-01 17:19:48 -03:00
Diego Mello 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 ef67665f58
[FIX] Notification stream throwing an error when there isn't a message on payload (#2637) 2020-11-12 11:07:36 -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 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 8ae489074e
[CHORE] Change database location to Experimental Apps (#2483)
* change database location of experimental apps

* fix migration from older versions
2020-09-23 14:16:04 -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 77ecd12d71
[FIX] App can't reopening a room in some cases (#2429) 2020-08-25 14:44:16 -03:00
Diego Mello 7f7bab8e03
[IMPROVEMENT] Add subscription and room events on the same batch queue (#2423)
* [IMPROVEMENT] Add subscription and room events on the same batch queue

* Send both params

* Unused var
2020-08-24 16:59:55 -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
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
Youssef Muhamad 95e2ccb846
[NEW] Log remaining events (#2368)
* Change NAVIGATE_TO for GO_TO to reduce event size

* Log RA JitsiMeet events and join / terminate

* Log more RoomView events

* Log slash commands and handle fail

* Log RoomActions events

* Change from GO_TO to just GO

* Log RoomInfoEdit events

* Log InviteUsers and InviteUsersEdit events

* Log AutoTranslate events

* Log NotificationPreferences events

* Log remaining routes from RoomActions

* Log RoomAction toggle block user

* Fix command event

Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-08-05 10:15:56 -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
Djorkaeff Alexandre cb5c914570
[IMPROVEMENT] Add deep link to Jitsi calls (#2223)
* [WIP] Jitsi Deep Links

* [WIP] Add app links

* save uniqueID servers database

* add serverInfoKey of uniqueID

* search server by call url

* open jitsi deeplink poc

* improve jitsi url

* fix

* improve comment

* add missing android scheme

* handle host not found

* Allow app links to be matched on parseDeepLinking

* Fix push notification of a call

* Minor fix

Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-07-30 14:25:52 -03:00
Diego Mello f3b02a6a88
[FIX] getSettings not catching errors (#2271) 2020-07-09 10:33:04 -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 a992c51698
[NEW] IFrame authentication (#2184)
Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-06-17 17:12:21 -03:00
Ezequiel de Oliveira 5e488972de
[FIX] The auto translate toggle don't save right state (#2142)
Signed-off-by: Ezequiel De Oliveira <ezequiel1de1oliveira@gmail.com>

Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-06-17 16:22:22 -03:00
Ezequiel de Oliveira 2632ef50f5
[IMPROVEMENT] Use react-native-notifier for in-app notifications (#2139)
Signed-off-by: Ezequiel De Oliveira <ezequiel1de1oliveira@gmail.com>

Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-06-16 17:32:30 -03:00
Diego Mello 98ed84ba5c
[CHORE] Update react-navigation to v5 (#2154)
* react-navigation v5 installed

* compiling

* Outside working

* InsideStack compiling

* Switch stack

* Starting room

* RoomView header

* SafeAreaView

* Slide from right stack animation

* stash

* Fix params

* Create channel

* inapp notification

* Custom status

* Add server working

* Refactor appStart

* Attachment

* in-app notification

* AuthLoadingView

* Remove compat

* Navigation

* Outside animations

* Fix new server icon

* block modal

* AttachmentView header

* Remove unnecessary code

* SelectedUsersView header

* StatusView

* CreateDiscussionView

* RoomInfoView

* RoomInfoEditView style

* RoomMembersView

* RoomsListView header

* RoomView header

* Share extension

* getParam

* Focus/blur

* Trying to fix inapp

* Lint

* Simpler app container

* Update libs

* Revert "Simpler app container"

This reverts commit 1e49d80bb4.

* Load messages faster

* Fix safearea on ReactionsModal

* Update safe area to v3

* lint

* Fix transition

* stash - drawer replace working

* stash - modal nav

* RoomActionsView as tablet modal

* RoomStack

* Stop showing RoomView header when there's no room

* Custom Header and different navigation based on stack

* Refactor setHeader

* MasterDetailContext

* RoomView header

* Fix isMasterDetail rule

* KeyCommands kind of working

* Create channel on tablet

* RoomView sCU

* Remove withSplit

* Settings opening as modal

* Settings

* StatusView headerLeft

* Admin panel

* TwoFactor style

* DirectoryView

* ServerDropdown and SortDropdown animations

* ThreadMessagesView

* Navigate to empty RoomView on server switch when in master detail

* ProfileView header

* Fix navigation issues

* Nav to any room info on tablet

* Room info

* Refactoring

* Fix rooms search

* Roomslist commands

* SearchMessagesView close modal

* Key commands

* Fix undefined subscription

* Disallow navigate to focused room

* isFocused state on RoomsListView

* Blur text inputs when focus is lost

* Replace animation

* Default nav theme

* Refactoring

* Always open Attachment with close modal button

* ModalContainer backdrop following themes

* Screen tracking

* Refactor get active route for in-app notification

* Only mark room as focused when in master detail layout

* Lint

* Open modals as fade from bottom on Android

* typo

* Fixing tests

* Fix in-app update

* Fixing goRoom issues

* Refactor stack names

* Fix unreadsCount

* Fix stack

* Fix header animation

* Refactor ShareNavigation

* Refactor navigation theme

* Make sure title is set

* Fix create discussion navigation

* Remove unused variable

* Create discussions from actions fixed

* Layout animation

* Screen lock on share extension

* Unnecessary change

* Admin border

* Set header after state callback

* Fix key commands on outside stack

* Fix back button pressed

* Remove layout animations from Android

* Tweak animations on Android

* Disable swipe gesture to open drawer

* Fix current item on RoomsListView

* Fix add server

* Fix drawer

* Fix broadcast

* LayoutAnimation instead of Transitions

* Fix onboarding back press

* Fix assorted tests

* Create discussion fix

* RoomInfoView header

* Drawer active item
2020-06-15 11:00:46 -03:00
Djorkaeff Alexandre 1abd3ad79e
[FIX] Screen Lock Time respect local value (#2141)
* [FIX] Screen Lock Time respect local value

* [FIX] Enable biometry at the first passcode change
2020-05-22 15:04:43 -03:00
Djorkaeff Alexandre 035bdfeca1
[FIX] Screen Lock options i18n (#2120)
Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-05-18 14:35:21 -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 a4ce812934.

* 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
Ezequiel de Oliveira 097c502f93
[IMPROVEMENT] Close announcement banner (#2064)
* [NEW] Created new field in subscription table

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

* [NEW] New field added to obeserver in room view

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

* [NEW] Added icon and new design to banner

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

* [NEW] Close banner function works

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

* [IMPROVEMENT] closed banner status now update correctly

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

* improve banner style

Co-authored-by: Djorkaeff Alexandre <djorkaeff.unb@gmail.com>
Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-05-08 09:57:04 -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 2854a16505.

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 2b9c447fe4
[FIX] Allow special chars in Filename (#2020)
* fixed-filename-issue

* improve

Co-authored-by: Djorkaeff Alexandre <djorkaeff.unb@gmail.com>
Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-04-30 15:20:29 -03:00
Djorkaeff Alexandre 56dc7243dd
[FIX] Pending update (#2066)
Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-04-30 15:04:39 -03:00
Djorkaeff Alexandre 4e948f897c
[IMPROVEMENT] Stop inserting last message as message object from rooms stream if room is focused (#2069)
* [IMPROVEMENT] No insert last message if the room is focused

* fix discussion/threads

Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-04-30 14:53:35 -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 00a21808ed
[FIX] Split get settings into two requests (#2017)
* [FIX] Split get settings into two requests

* [FIX] Clear settings only when change server

* [IMPROVEMENT] Move the way to clear settings

* [REVERT] Revert some changes

* [FIX] Server Icon

Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-04-09 02:26:28 -03:00
Djorkaeff Alexandre 2e65a795df
[FIX] DM header blink (#2011) 2020-04-09 02:20:57 -03:00
Djorkaeff Alexandre 78441bf345
[FIX] Loading all updated rooms after app resume (#1998)
* [FIX] Loading all updated rooms after app resume

* Fix room date on RoomItem

Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-04-06 17:23:13 -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 18afdd843e
[FIX] Deeplinking without RoomId (#1925)
* [FIX] Deeplinking without rid

* [FIX] Join channel

* [FIX] Deep linking without rid

* Update app/lib/methods/canOpenRoom.js

Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-04-01 16:39:30 -03:00
Diego Mello 9f830c7f0a
[FIX] Clear settings on server change (#1967) 2020-04-01 16:24:42 -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
Diego Mello 3437b9039f
[FIX] Load messages (#1910)
* Create updateLastOpen param on readMessages

* Remove InteractionManager from load messages
2020-03-30 17:10:19 -03:00
Diego Mello acdf39b32d
[NEW] Onboarding layout (#1954)
* Onboarding texts

* OnboardingView

* FormContainer

* Minor fixes

* NewServerView

* Remove code

* Refactor

* WorkspaceView

* Stash

* Login with email working

* Login with

* Join open

* Revert "Login with"

This reverts commit d05dc507d2.

* Fix create account styles

* Register

* Refactor

* LoginServices component

* Refactor

* Multiple servers

* Remove native images

* Refactor styles

* Fix testid

* Fix add server on tablet

* i18n

* Fix close modal

* Fix TOTP

* [FIX] Registration disabled

* [FIX] Login Services separator

* Fix logos

* Fix AppVersion name

* I18n

* Minor fixes

* [FIX] Custom Fields

Co-authored-by: Djorkaeff Alexandre <djorkaeff.unb@gmail.com>
2020-03-30 16:20:50 -03:00
Djorkaeff Alexandre 255254c285
[FIX] Ignore self typing event (#1950)
Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-03-26 13:59:11 -03:00
Djorkaeff Alexandre fe5ee355f1
[FIX] Stop showing message on leave channel (#1896)
* [FIX] Leave room don't show 'was removed' message

* [FIX] Remove duplicated code

Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-03-20 13:38:01 -03:00
Youssef Muhamad b9360217e6
[NEW] Filter system messages per room (#1815)
Co-authored-by: Djorkaeff Alexandre <djorkaeff.unb@gmail.com>
Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-03-06 11:19:03 -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
Diego Mello 4dc04b8579
[FIX] Thread message not found (#1830)
Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-03-05 13:31:21 -03:00
Diego Mello a7d7ff4bb9
[FIX] Mentions (#1829)
Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-03-05 13:30:13 -03:00
Djorkaeff Alexandre 4597ab6c78
[FIX] Pop from room which you have been removed (#1819)
Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-03-04 08:49:54 -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
Diego Mello 3d535196a5
[FIX] Watermelon throwing "Cannot update a record with pending updates" (#1754) 2020-03-02 17:12:41 -03:00
Djorkaeff Alexandre 9e4cef5742
[FIX] Use RealName when necessary (#1758)
Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-02-21 13:13:05 -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
Djorkaeff Alexandre 78aef7320e
[FIX] UIKit submit when connection lost (#1748) 2020-02-18 12:56:02 -03:00
Djorkaeff Alexandre aaca4ad268
[NEW] Jitsi JWT added to URL (#1746) 2020-02-18 11:06:14 -03:00
Diego Mello 6a40d4cefb
[CHORE] Memory leaks investigation (#1675) 2020-02-17 16:06:18 -03:00
Diego Mello a341f0d696
[FIX] Catch room unsubscribe error (#1739) 2020-02-17 13:07:09 -03:00
Diego Mello 4a63cb01e2
[FIX] Delete slash commands (#1723) 2020-02-14 10:24:35 -03:00
Djorkaeff Alexandre 3a87872415
[FIX] Small fixes on UIKit (#1709) 2020-02-12 14:21:11 -03:00
Djorkaeff Alexandre ebe36cdc00
[FIX] Unhandled action on UIKit (#1703) 2020-02-11 13:00:58 -03:00
Diego Mello 3683b8936a
[IMPROVEMENT] Use reselect (#1696) 2020-02-11 11:09:14 -03:00
Djorkaeff Alexandre b87472f10b
[NEW] UiKit Beta (#1497) 2020-02-11 11:01:35 -03:00
Diego Mello c63645360b
[REGRESSION] Read messages (#1666) 2020-02-05 14:31:36 -03:00
Diego Mello 38c7d8a874
[IMPROVEMENT] Memoize and batch subscriptions updates (#1642) 2020-02-05 12:22:29 -03:00
Djorkaeff Alexandre 97cc18313d
[FIX] Unsubscribe from room (#1655) 2020-02-05 10:34:53 -03:00
Diego Mello 32bba0fc53
[FIX] Error when normalizing empty messages (#1532) 2020-01-08 09:26:35 -03:00
Diego Mello b4e15753aa
[FIX] Insert messages with blank users (#1529) 2020-01-07 17:00:46 -03:00
Diego Mello 7b18bf68d7
[FIX] Missing messages after reconnect (#1470) 2019-12-13 13:23:20 -03:00
Diego Mello a3822d4941
[FIX] Messages being sent but showing as temp status (#1469) 2019-12-13 10:35:12 -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 29302ccd08
[FIX] Delete messages (#1399) 2019-11-19 12:59:14 -03:00
Djorkaeff Alexandre 5ff07a65fe [FIX] Server Version (#1392) 2019-11-18 14:50:00 -03:00
Diego Mello 0b68e98c2b
[FIX] Load messages issues (#1373) 2019-11-07 16:53:39 -03:00
Diego Mello 5e4ce8feac
[FIX] Parse image URL only if it's not empty (#1372) 2019-11-07 11:59:17 -03:00
Djorkaeff Alexandre 38523509e0 [FIX] Parse Urls (#1371) 2019-11-07 09:35:04 -03:00
Diego Mello ffeac38034
[FIX] URL preview (#1360) 2019-11-01 14:34:35 -03:00
Diego Mello 93356341b9
[UPDATE DEPS] Update RN to 0.61.3 (#1345) 2019-10-31 13:21:59 -03:00
Diego Mello 2b82ec4ad6
[IMPROVEMENT] Save last message as message when subscription is updated (#1344) 2019-10-30 15:31:26 -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
Diego Mello b9485ad3f8
[FIX] Room subscription issues (#1255) 2019-09-27 17:29:25 -03:00
Diego Mello a1297d0e6c
[FIX] Update last open on message stream received (#1240) 2019-09-26 13:54:24 -03:00
Diego Mello 4388b2acb1
[FIX] Try/catch JSON.parse XHR response (#1238) 2019-09-26 13:53:04 -03:00
Djorkaeff Alexandre 0ff47f477a [CHORE] Update react-native-jitsi-meet (#1235) 2019-09-25 19:13:39 -03:00
Diego Mello 915d19fbe8
[FIX] Cancel upload and check failed upload (#1232) 2019-09-25 18:31:53 -03:00
Diego Mello 319ca7f044
[FIX] Unify upload check (#1229) 2019-09-24 17:16:59 -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 c7791b9a38 [FIX] Fix calls to bugsnag.notify (#1165) 2019-08-30 09:43:23 -03:00
pranavpandey1998official 86a9d405cc [IMPROVEMENT] Notification Preference (#1105) 2019-08-23 13:24:15 -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
Diego Mello 5bb477d00e
[FIX] Handle disconnect and reconnect properly (#1131) 2019-08-14 08:16:59 -03:00
Djorkaeff Alexandre d80dd0e2ce [FIX] Share Extension issues (#1064) 2019-07-29 13:33:28 -03:00
Diego Mello 3619e0ab7f
[FIX] Auto-translate messages as they arrive (#1049)
* Comment removeClippedSubviews

* Comment width animation

* Remove redux from RoomItem

* Fix wrong re-render comparison

* Remove listener

* Raise minDeltaX

* memo actions

* Spring with native driver

* Refactor functions

* Fix props issues

* Remove RoomItem.height

* Long swipe

* Refactor animations

* this.rowTranslation -> this.transX

* Moved state to this

* [FIX] Auto-translate messages as they arrive
2019-07-15 13:56:52 -03:00
pranavpandey1998official 481458285b [IMPROVEMENT] Use Rest API for file upload (#1005)
* removed rn-fetch-blob and use native XMLHttpRequest instead

* removed unnessary changes

* fix android bug

* fix android bug

* added tmid support

* fix bug

* fixed isssue with cacel model

* fix problems with audio

* done requested changes

* fix bug with android
2019-06-28 16:07:20 -03:00
Diego Mello b3986b98b5
[NEW] Auto-translate (#1012)
* Update realm

* View original and translate working

* Read AutoTranslate_Enabled setting

* RocketChat.canAutoTranslate()

* AutoTranslateView

* Save language

* Auto-translate switch

* Translate message
2019-06-28 14:02:30 -03:00
Diego Mello e2f9241040
[FIX] App hang on "updating" (#997)
* [FIX] App hang on "updating"

* Fix iOS notification tap
2019-06-26 09:33:56 -03:00
Diego Mello 319630949e
[FIX] Cancel ongoing tasks on server change (#984)
* Fork selectServer and loginSuccess

* Fork tasks on login

* Refactor

* Remove room sub and requests on logout

* Comment room header disabled rule

* Check server on rooms stream

* Uncomment disabled props

* Fix updating state

* Comment last fetch user presence date
2019-06-17 10:57:07 -03:00
pranavpandey1998official 82afb63327 [NEW] Slash commands (#886)
* setup database

* added getSlashCommands to loginSucess

* added slash command first prototype

* added preview feture for commands that have preview enabled

* address requested changes

* added preview options for other types of files too

* address changes

* done requested changes

* undone un-nessary changes

* done suggested changes

* fixed lint

* done requested changes

* fixed lint

* fix e2e
2019-06-10 15:36:56 -03:00
Diego Mello d68eb01b82
[NEW] Read receipt (#975)
* switching to ubountu

* added read Recipt functionality to the app
fix: #542

* placed the check icon on the end of timestamp

* removed linting errors

* updating snapshots

* done requested changes

* removed width scrollView

* done required changes

* fixed linting errors

* added migrations

* resolved conflicts and done requested changes

* undone uneesasary changes

* adding migrations

* done requested changes

* Add stories and fix some issues
2019-06-10 15:36:31 -03:00
Diego Mello 467a2d4002
[NEW] In-app notification (#964)
* added Notification badge

* added notification to state

* added condition not see notification of current room

* fixed lint

* fixed some bugs

* fixed some bugs

* removed navigation prop

* fixed navigation bug

* removed unessary changes

* done requested chamges

* made separate notification for ios and android

* merged notification

* Removed unnecessary sub

* Animation

* Layout changes

* Refactor
2019-06-10 13:23:19 -03:00
Diego Mello a148e6d15d
[FIX] Analytics error events (#930) 2019-05-28 13:18:46 -03:00
Diego Mello 9e4a4d2454
[CHORE] Use react-native-firebase (#928)
We need to migrate from deprecated react-native-fabric to react-native-firebase.
This PR enables following Firebase features:
* Analytics
* Crashlytics
* Performance

It also tracks screen view without the necessity of HOC.

Future work:
I won't do it in this PR because it's large enough, but we need to log more app events, like 'sent_message', 'open_admin', 'media_upload', etc.
2019-05-28 10:03:08 -03:00
Diego Mello 60418b75a4
Message render performance (#880)
- Refactored Message component to use React.memo and re-render only what's necessary
- Added a test mode to toggle markdown parse by long press drawer (it'll be removed in the next release)
2019-05-20 17:43:50 -03:00
IlarionHalushka 3733f776fc issue #799 merger message views (#876)
On Room Actions, we have Files, Mentions, Starred and Pinned.
They have similar APIs and logic.
All of those could be merged into one generic view (MessagesView).
Maybe even Search could be in this merge.

Note: They're similar, but have own rules (unstar, unpin, etc).

This change may reduce 1MB to our release bundle size, since we're going to remove a lot of boilerplate.
2019-05-10 14:09:07 -03:00
Diego Mello 10210d0dcf
[FIX] Typing not getting cleared after popping a room (#873) 2019-05-03 14:17:29 -03:00
Diego Mello a243b1ccd7
Tweaks on sequential threads messages layout (#858)
* Tweaks on sequential threads messages

* Update tests

* Fix quote

* Prevent from deleting thread start message when positioned inside the thread

* Remove thread listener from RightButtons

* Fix error on thread start parse

* Stop parsing threads on render

* Check replied thread only if necessary

* Fix messages don't displaying

* Fix threads e2e

* RoomsListView.updateState slice

* Stop fetching hidden messages on threads

* Set initialNumToRender to 5
2019-05-03 10:33:38 -03:00
Diego Mello 75e4b86a95
Fetch roles from rest api (#853)
* Fetch roles from rest api

* Fix RoomInfoView role get

* Remove roles from redux
2019-04-26 18:15:25 -03:00
Diego Mello 5c1be71fa1
Update custom emojis endpoint (#852)
* Update emoji endpoint

* Use React.memo on Markdown

* Support RC versions lower than 0.75.0

* Realm migration
2019-04-26 18:13:07 -03:00
Diego Mello c340829638
Update fetch permissions api (#850) 2019-04-26 17:54:58 -03:00
Diego Mello 5744114d7d
[FIX] Threads (#838)
Closes #826
Closes #827
Closes #828
Closes #829
Closes #830
Closes #831
Closes #832
Closes #833
2019-04-24 15:36:29 -03:00
Diego Mello 9cf81bbab9
[NEW] Threads (#798) 2019-04-17 14:01:03 -03:00
Diego Sampaio 1d9acdb700 [NEW] Discussions (#696) 2019-04-08 09:35:28 -03:00
Diego Mello 9e107bfdf6
Room item layout (#771) 2019-03-29 16:36:07 -03:00
Diego Mello 6106c40557
[FIX] Fetch rooms date (#662) 2019-02-27 17:29:37 -03:00
Diego Mello 025c5cba74
[FIX] uploadProgress is not a function (#656) 2019-02-26 09:47:06 -03:00
Diego Mello df78a6831c
[FIX] Handle database errors properly (#650) 2019-02-25 13:23:17 -03:00
Diego Mello d795aea8c4
[FIX] Remove rooms listener (#630) 2019-02-14 14:43:56 -02:00
Diego Mello 68f5a94f5a
[FIX] SDK issues (#621)
* Remove listeners from room
* Properly close connections on change server
* Minor layout change on connecting badge
2019-02-12 14:14:11 -02:00
Diego Mello c9bf599bcf
[FIX] Start loop searching for rooms updates only when connection goes down and SDK has userId (#613) 2019-02-07 18:28:39 -02:00
Diego Mello db0cd5abd1
Updating room indicator (#609)
Shows "Updating..." when requesting rooms from Rest API.
2019-02-07 14:13:21 -02:00
Diego Mello 2585038112
Update JS SDK version (#602) 2019-02-07 13:48:10 -02:00
Diego Mello d23c055584
Unnecessary re-renders removed (#570)
* shouldComponentUpdate

* Rooms list shouldcomponentupdate

* RoomView shouldComponentUpdate

* Messagebox and Message shouldComponentUpdate

* EmojiPicker shouldComponentUpdate

* RoomActions shouldComponentUpdate

* Room info shouldComponentUpdate

* Update RNN

* Use only one Flatlist if none group filter is selected

* Update fix

* shouldComponentUpdate

* Bug fixes

* ListView changes

* Bug fix

* render list bug fix

* Changes on public channels

* - RoomView saga leak removed
- Join room e2e tests added

* Rest versions

* Method call versions

* Min RocketChat version alert
2018-12-21 08:55:35 -02:00
Diego Mello ad37586065
Use Rest API pt 2 (#568)
* Room files

* Pinned messages

* Starred messages

* Mentioned messages

* Search messages

* Bug fixes

* Profile

* Livechat

* Block/unblock user

* Erase room

* Archive room

* Remove unused method

* Bug fix
2018-12-12 13:15:10 -02:00
Diego Mello a2821af95b
Use Rest API calls (#558) 2018-12-05 18:52:08 -02:00
Diego Mello e9deb577e0
Regression: Resend messages with error (#532) 2018-11-16 09:06:29 -02:00
Diego Mello 11e94b9017
[FIX] Messages not being loaded properly (#513) 2018-10-29 10:52:44 -03:00
Diego Mello 402403f964
Update navigation library (#501)
* v2

* Working on Android 0.57.3

* Drawer working

* Removing v1 navigator

* - Splash screen
- Icons changed

* Deeplink

* Remove EventEmitter from CreateChannelView

* Android search

* Android notifications

* OAuth

* Fix search props

* Lint and tests fixed

* Fix android build

* Improvements on iPhone X* usage

* Fix detox

* Fix android build

* Room.f added to RoomView.shouldComponentUpdate

* Animations on RoomsListView and RoomView

* Fix topbar buttons on Android
2018-10-23 18:39:48 -03:00
Diego Mello 5a3ba40a9f
Use Rocket.Chat JS SDK (#481)
* JS SDK

* API working

* Multiple servers
2018-10-15 17:22:42 -03:00
Diego Mello d5a4ead888
[FIX] Handle deleted messages (#466)
* [FIX] Handle deleted messages

* Fix rest error

* Fix some connection issues
2018-09-28 15:57:29 -03:00
Diego Mello d6162d9fc8
Better touch handling on rooms list (#462)
* Use react-native-gesture-handler at RoomItem

* Fixed info message author

* Edit message render improvement

* Fix ws to http replace
2018-09-26 16:38:06 -03:00
Diego Mello e18491f589
Use inline requires (#459)
* Update dependencies

* Lint and test

* Added react-native fork

* rn 57

* Lint and tests updated

* Update xcode on circleci

* Use legacy build system

* Update tests

* Inline requires

* Fix eslint and remove temp gradle

* Unnecessary renders

* Update isNotch and Readme

* Tests updated
2018-09-26 10:56:36 -03:00
Diego Mello 81c53acd60
Update dependencies (#431)
* Update dependencies

* Lint and test

* Added react-native fork

* rn 57

* Lint and tests updated

* Update xcode on circleci

* Use legacy build system

* Update tests
2018-09-25 16:28:42 -03:00
Diego Mello 5752b865b0
Several fixes for 1.2.1 (#448)
* Fix user.roles

* Better onLongPress handle on messages

* Indicator position

* Fix role undefined in system messages

* Add baseUrl in case of file attachments

* Join room fixed

* RoomView params

* Broadcast fixes

* Add server layout changes

* Use native images

* Subscribe to not joined channels

* Fix alerts without i18n

* Tests updated
2018-09-19 11:18:32 -03:00