Commit Graph

186 Commits

Author SHA1 Message Date
Diego Mello 3ef4ef5317
[NEW] Jump to message (#3099)
* Scrolling

* Add loadMore button at the end of loadMessagesForRoom

* Delete dummy item on tap

* Only insert loadMore dummy if there's more data

* load surrounding messages

* fixes and load next

* First dummy and dummy-next

* Save load next messages

* Check if message exists before fetching surroundings

* Refactoring List

* Jumping to message :)

* Showing blocking loader while scrolling/fetching message

* Check if message exists on local db before inserting dummy

* Delete dummies automatically when the message sent to updateMessages again

* Minor cleanup

* Fix scroll

* Highlight message

* Jump to bottom

* Load more on scroll

* Adding stories to LoadMore

* Refactoring

* Add loading indicator to LoadMore

* Small refactor

* Add LoadMore to threads

* getMoreMessages

* chat.getThreadMessages -> getThreadMessages

* Start jumping to threads

* Add jumpToMessageId on RoomView

* Nav to correct channel

* Fix PK issue on thread_messages

* Disable jump to thread from another room

* Fix nav to thread params

* Add navToRoom

* Refactor styles

* Test notch

* Fix Android border

* Fix thread message on title

* Fix NavBottomFAB on threads

* Minor cleanup

* Workaround for readThreads being called too often

* Lint

* Update tests

* Jump from search

* Go to threads from search

* Remove getItemLayout and rely on viewable items

* Fix load older

* stash working

* Fix infinite loading

* Lower itemVisiblePercentThreshhold to 10, so very long messages behave as viewable

* Add generateLoadMoreId util

* Minor cleanup

* Jump to message from notification/deep linking

* Add getMessageInfo

* Nav to threads from other rooms

* getThreadName

* Unnecessary logic

* getRoomInfo

* Colocate getMessageInfo closer to RoomView

* Minor cleanup

* Remove search from RoomActionsView

* Minor fix for search on not joined public channels

* Jump to any link

* Fix tablets

* Jump to message from MessagesView and other bug fixes

* Fix issue on Urls

* Adds race condition to cancel jump to message if it's stuck or after 5 seconds

* Jump from message search quote

* lint

* Stop onPress

* Small refactor on load methods

* Minor fixes for loadThreadMessages

* Minor typo

* LoadMore i18n

* Minor cleanup
2021-05-26 14:24:54 -03:00
Gerzon Z 62336c6d3a
[NEW] Leave Teams (#3116)
* Added Create Team

* Added actionTypes, actions, ENG strings for Teams and updated NewMessageView

* Added createTeam sagas, createTeam reducer, new Team string and update CreateChannelView

* Remove unnecessary actionTypes, reducers and sagas, e2e tests and navigation to team view

* Minor tweaks

* Show TeamChannelsView only if joined the team

* Minor tweak

* Added AddChannelTeamView

* Added permissions, translations strings for teams,  deleteTeamRoom and addTeamRooms, AddExistingChannelView, updated CreateChannelView, TeamChannelsView

* Refactor touch component and update removeRoom and deleteRoom methods

* Minor tweaks

* Minor tweaks for removing channels and addExistingChannelView

* Added missing events and fixed channels list

* Minor tweaks for refactored touch component

* Added SelectListView and logic for leaving team

* Minor tweak

* Minor tweak

* Minor tweaks

* Remove unnecesary changes, update TeamChannelsView, AddExistingChannelView, AddChannelTeamView, createChannel, goRoom and Touchable

* Remove unnecesary prop

* Add screens to ModalStack, events, autoJoin, update createChannel, addRoomsToTeam and Touchable

* Minor tweak

* Update loadMessagesForRoom.js

* Updated schema, tag component, touch, AddChannelTeamView, AddExistingChannelView, ActionSheet Item

* Fix unnecessary changes

* Add i18n, update createChannel, AddExistingChannelTeamView, AddChannelTeamView, RightButton and TeamChannelsView

* Updated styles, added tag story

* Minor tweak

* Minor tweaks

* Auto-join tweak

* Minor tweaks

* Minor tweak on search

* Minor refactor to ListItem, add SelectListView to ModalStack, update handleLeaveTeam

* Minor tweaks

* Update SelectListView

* Update handleLeaveTeam, remove unnecessary method, add story

* Minor tweak

* Minor visual tweaks

* Updated SelectListView, RoomActionsView, leaveTeam method and string translations

* Update SelectListVIew

* Minor tweak

* Update SelectListView

* Minor tweak

* Fix for List.Item subtitles being pushed down by title's flex

* Minor tweaks

* Update RoomActionsView

* Use showConfirmationAlert and showErrorAlert

* Lint

Co-authored-by: Diego Mello <diegolmello@gmail.com>
2021-05-25 15:04:05 -03:00
Gerzon Z 9670fa623a
[NEW] Add/Create/Remove channel on a team (#3090)
* Added Create Team

* Added actionTypes, actions, ENG strings for Teams and updated NewMessageView

* Added createTeam sagas, createTeam reducer, new Team string and update CreateChannelView

* Remove unnecessary actionTypes, reducers and sagas, e2e tests and navigation to team view

* Minor tweaks

* Show TeamChannelsView only if joined the team

* Minor tweak

* Added AddChannelTeamView

* Added permissions, translations strings for teams,  deleteTeamRoom and addTeamRooms, AddExistingChannelView, updated CreateChannelView, TeamChannelsView

* Refactor touch component and update removeRoom and deleteRoom methods

* Minor tweaks

* Minor tweaks for removing channels and addExistingChannelView

* Added missing events and fixed channels list

* Minor tweaks for refactored touch component

* Minor tweaks

* Remove unnecesary changes, update TeamChannelsView, AddExistingChannelView, AddChannelTeamView, createChannel, goRoom and Touchable

* Add screens to ModalStack, events, autoJoin, update createChannel, addRoomsToTeam and Touchable

* Minor tweak

* Update loadMessagesForRoom.js

* Updated schema, tag component, touch, AddChannelTeamView, AddExistingChannelView, ActionSheet Item

* Fix unnecessary changes

* Add i18n, update createChannel, AddExistingChannelTeamView, AddChannelTeamView, RightButton and TeamChannelsView

* Updated styles, added tag story

* Minor tweak

* Minor tweaks

* Auto-join tweak

* Minor tweaks

* Minor tweak on search

* One way to refactor :P

* Next level refactor :)

* Fix create group dm

* Refactor renderItem

* Minor bug fixes

* Fix stories

Co-authored-by: Diego Mello <diegolmello@gmail.com>
2021-05-19 18:14:42 -03:00
Gung Wah ff1da46ef7
[CHORE] Improve stories (#3028)
* [CHORE] Improve stories

* Refactor Avatar and UIKitModal

* fixed undefined 'name'

* Remove commented stories

* Remove Markdown from stories/index, update Markdown test file and remove markdown stories from Message stories

* Remove StoriesSeparator

* Refactor Markdown

* Remove commented lines of code

* Small refactor

* Re-add stories

Co-authored-by: Gerzon Z <gerzonzcanario@gmail.com>
Co-authored-by: Gerzon Z <gerzonc@icloud.com>
Co-authored-by: Diego Mello <diegolmello@gmail.com>
2021-04-19 13:57:19 -03:00
Diego Mello 21b587749c
[FIX] Message author touchable taking whole space available (#3048)
Co-authored-by: Gerzon Z <gerzonc@icloud.com>
2021-04-19 11:33:07 -03:00
Diego Mello d04d0f27b6
[NEW] Basic support to Teams (#3016)
* Database migration

* RoomItem icon

* Team icons

* Teams group

* Small tweak on RoomTypeIcon

* RoomView Header

* Add team's channels to RoomView header

* Starting TeamChannelsView

* Icon size

* o data found

* Update TeamChannelsView, add teams subscriptions and send params to TeamChannelsView

* Use teams.ListRooms endpoint, render rooms list, remove unused functions

* Show team main on TeamChannelsView

* Disable swipe

* Pagination working

* Fix blinking no data found

* Search working

* Refactor to use BackgroundContainer while loading

* Go to room

* Cleanup

* Go to actions

* Events

* Lint

* Add debounce to go room

* Fix for tablet

* i18n

* Small fix

* Minor refactor

* Use local data when it exists

* Show last message

* Force teams migration

* Add stories to BackgroundContainer

* Remove unused component

* Move RoomViewHeader into containers folder

* Refactoring

* Testing RoomHeader

* i18n

* Fix server endpoint version

* Fix events

Co-authored-by: Gerzon Z <gerzonzcanario@gmail.com>
2021-04-07 15:31:25 -03:00
Diego Mello 8649c17f0c
Revert "[FIX] Make attachment validation compatible with web client (#2927)" (#3036)
This reverts commit d6200745c0.
2021-04-05 14:36:04 -03:00
Anant Bhasin d6200745c0
[FIX] Make attachment validation compatible with web client (#2927)
* [FIX] Make attachment validation compatible with web client

* Added stories

Co-authored-by: Diego Mello <diegolmello@gmail.com>
2021-04-01 18:01:58 -03:00
Anant Bhasin e32ed8be09
[FIX] Regex typo on markdown (#2928)
* [FIX] Fix Regex Typo

* Add story for testing

Co-authored-by: Diego Mello <diegolmello@gmail.com>
2021-04-01 17:54:31 -03:00
Diego Mello 656127aaab
[FIX] App crashing when attachment color is an invalid HEX (#3021) 2021-04-01 10:32:03 -03:00
Gerzon Z 25b71155e6
[IMPROVEMENT] User status icons (#2991)
* Add status and teams

* Update icons, icon size and getUsersPresence

* Minor changes

* Refactor RoomTypeIcon

* Minor tweaks

* Update unit tests

* Minor fixes

* Fix styles

* Small refactor

* Update jest

Co-authored-by: Diego Mello <diegolmello@gmail.com>
2021-03-31 14:47:17 -03:00
Gung Wah 1eaf4b802b
[TESTS] Add e2e tests for mark message as unread (#2953)
* [E2E TEST] Add e2e tests for mark message as unread

* fixed test for draft message

* change test name

* move test to other file

* Remove unnecessary tests

* Rename file

* Update jest tests

Co-authored-by: Diego Mello <diegolmello@gmail.com>
2021-03-18 13:52:47 -03:00
Anant Bhasin 2ea7e9d3f9
[FIX] Attachment not rendering markdown (#2924)
* [FIX] Render markdown in Fields content

* Added stories

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

* Removed convertStrtToHex function and added attachmentBackground

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

* Added stories

* Update Reply stories

* Update Reply stories

* Fix lint

* Update Reply stories

* Fix props

* Move tests to Message stories

Co-authored-by: Diego Mello <diegolmello@gmail.com>
2021-03-18 10:13:44 -03:00
Gung Wah 6e32a15cad
[FIX] System message of e2e encryption is missing (#2888)
* [FIX] System message of e2e encryption missing

* add new encryption string

* add to stories

* Add pt-BR

* Move stories

Co-authored-by: Diego Mello <diegolmello@gmail.com>
2021-02-24 13:33:39 -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 bd09cd32a0
[FIX] Wrong styling on E2E encryption banner (#2767)
* [FIX] Wrong styling on E2E encryption banner

* [FIX] Wrong styling on E2E encryption banner

* [FIX] Wrong styling on E2E encryption banner

* [FIX] Wrong styling on E2E encryption banner (#2767)

* Updated SortDropdown, ListHeader, ListItem and added stories for List.Item

* Updated SortDropdown

* Removed unused component

* Updated List.Item and stories

* Reverted unnecessary changes and updated ListItem stories

* Fix minor indentation

* Stop breaking Touch's default underlay color

* Fix indentation

* Remove falsy comparison from render

* Fix left icon

* Use List.Item on OmnichannelStatus

* Add missing separator

* Lint

* Fix sort dropdown

* Remove unnecessary styles

* Fix detox

Co-authored-by: Diego Mello <diegolmello@gmail.com>
2021-01-21 16:52:26 -03:00
Gerzon Z 8d1dd27271
[CHORE] Refactor ServerItem (#2778)
* Updated ServerDropdown and ServerItem

* Added ServerItem stories

* Update ServerDropdown.js

* Updated ServerItem stories

* Updated ServerItem stories and ServerItem component

* Updated SelectServerView, ServerItem and ServerItem stories

* Updated ServerItem stories

* Updated ServerItem stories

* Update tests

Co-authored-by: Diego Mello <diegolmello@gmail.com>
2021-01-20 17:43:59 -03:00
Djorkaeff Alexandre 4d13689503
[IMPROVEMENT] Threads layout tweaks (#2686)
* improvement: Thread Details

* fix: re-render Thread Messages Item

* fix: update snapshots

* improve: thread details component

* fix: cast replies length

* improvement: format date of threads

* improvement: thread details styles

* fix: wrap text

* tests: update snapshot

* improvement: use same date format for all dates

* Icon size 24

* Remove date

* Remove prop drill

* Badge position

* Badge container tweak

* Fix inline style

* Move ThreadDetails to containers

* Update stories

* Fix lint

* Remove wrong prop

Co-authored-by: Diego Mello <diegolmello@gmail.com>
2021-01-14 14:06:19 -03:00
Diego Mello 7c09112656
[FIX] App freezing if Markdown preview contains sequential empty spaces (#2726)
* Remove sequential empty spaces from Markdown preview

* Use Markdown preview on RepliedThread
2020-12-18 11:14:25 -03:00
Diego Mello 6a026235ba
[IMPROVEMENT] Match background and text mention colors (#2723) 2020-12-17 14:39:45 -03:00
Dave Koo b0b9d62a91
[IMPROVEMENT] Add username on status messages (#2553)
* 1689 - missing user name for status messages

* 1689 - missing user name for status messages. Fixed broken e2e test "should pin message".

* Minor tweak

* Remove center style

* Small refactor on User

* Remove toLowerCase

* Update tests

Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-12-01 16:26:03 -03:00
Djorkaeff Alexandre 10ba9d5138
[NEW] Support RTL (#2656)
* wip: RTL (iOS)

* wip: RTL (Android)

* wip: reload bundle when change between RTL languages

* fix: Stack Animation on Android

* fix: update snapshot

* fix: Swipe Room Actions in RTL mode

* fix: snapshots

* Move isRTL to i18n

* Fix styling

* Update tests

* Update pods

Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-11-30 18:47:05 -03:00
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
Saket Mahajan 8bc32a3e77
[BUG] App isn't showing message for PDF/file uploads (#2584)
* Fixed the issue #2531

In app/containers/message/Reply.js added a View Contaier around the
Attachment Touchable and Added a Markdown attribute with msg set to
description of attachment to display the message if any.

* Added the condition to check if File Description Exists

Added an if statement to check if file description exists and if yes
then add a markdown with value msg equal to the description.

Also tested using 'yarn test -u' to add/update the tests.

* Made the requested Changes

Removed the condition to check for attachment description.
Added the `markdown` inside the touchable and wrapped `attachmentContainer` and the `markdown` inside a `<>` component

* Added file not showing message issue code in this branch

* Fixed the mistake in return

* fix

* Add tests

Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-11-04 14:25: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 6271b885ee
[NEW] Threads (#2567)
* [IMPROVEMENT] Mentions layout without background

* Fix RoomItem

* Fix tests

* Smaller messagebox

* Messagebox colors tweak

* Beginning header buttons refactor

* Add HeaderButtons

* item with title

* Refactor

* Remove lib

* Refactor

* Update snapshot

* Send to channel on messagebox

* Add tshow

* Add showMessageInMainThread to login.user reducer

* Filter threads on main channel based on user setting

* Send tshow

* Add tunread

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

* Export UnreadBadge on index

* Add empty test

* Refactor

* Update tests

* Lint

* Thread unread user and group on RoomItem

* Thread badge working

* Started ThreadMessagesView.Item

* Fix separator

* Reactivity working

* Lint

* custom emojis aren't necessary

* Basic filter layout

* Filtering layout

* Refactor

* apply filter

* DropdownItemHeader

* default all

* few fixes

* No data found

* Fixes list performance issues

* Use locale on date formats

* Fixed minor styles

* Thread badge

* Refactor getBadgeColor

* Fix send to channel background color

* starting search threads

* Fix lint and tests

* Bump to 4.12.0 just for testing :)

* Search input layout

* query

* starting threads header

* fix unnecessary tlm on tmid messages

* Fix thread header

* lint

* Fix thread header on ShareView

* Add e2e tests

* Fix subscriptions sort

* Update stories and minor fixes

* Fix button sizes on Messagebox

* Remove comment

* Unnecessary conditional

* Add showMessageInMainThread to user collection

* Fix thread header

* Fix thread messages not working on tablet

* Reset Messagebox.tshow after sending a message

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

* Unnecessary theme prop

* Address comments

* Remove re-render

* Fix scroll indicator bug

* Fix style

* Minor i18n fix

* Fix dropdown height

* I18n ptbr

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

* Add HeaderButtons

* item with title

* Refactor

* Remove lib

* Refactor

* Update snapshot

* Refactor

* Update tests

* Lint
2020-10-30 13:15:58 -03:00
Diego Mello 7cccd02cb3
[IMPROVEMENT] Mentions layout without background (#2559)
* [IMPROVEMENT] Mentions layout without background

* Fix RoomItem

* Fix tests
2020-10-30 12:58:48 -03:00
Diego Mello 52850cbccc
[IMPROVEMENT] List Component (#2506)
* 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

* Address review comments

* Fix vertical scroll

Co-authored-by: Djorkaeff Alexandre <djorkaeff.unb@gmail.com>
2020-10-30 10:59:44 -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 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 34824e0765
[FIX] Vertically centralize RoomItem when `Store_Last_Message` is disabled (#2363)
* Split RoomItem into container and component

* Refactor RoomItem

* Fix wrong status

* Tests

* Wrapper
2020-07-31 14:06:22 -03:00
Diego Mello 54bddf035d
[IMPROVEMENT] Apply new mention colors (#2351)
* New mention colors

* Increase letterSpacing for mentions

* Refactor

* UnreadBadge

* Add migration
2020-07-29 17:49:08 -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 1cadfb3d27
[FIX] Here and all mentions shouldn't refer to users (#2137) 2020-05-20 09:53:40 -03:00
Djorkaeff Alexandre 8c5538b148
[FIX] UIKit crash when some app send a list (#2117)
* [FIX] StoryBook

* [FIX] UIKit crash when some app send a list

* [CHORE] Update snapshot

* [CHORE] Remove token & id
2020-05-18 13:25:13 -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 e46ee13b38
[IMPROVEMENT] Message Touchable (#2082)
* [FIX] Avatar touchable

* [IMPROVEMENT] onLongPress on all Message Touchables

* [IMPROVEMENT] User & baseUrl on MessageContext

* [FIX] Context Access

* [FIX] BaseURL

* Fix User

Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-04-30 17:05:59 -03:00
Djorkaeff Alexandre 2ea6d34fd1
[FIX] Recorded audio on Android doesn't play on iOS (#2073)
* react-native-video -> expo-av

* remove react-native-video

* Add audio mode

* update mocks

* [FIX] Loading bigger than play/pause

Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-04-30 15:54:27 -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
Ezequiel de Oliveira 6a36abadbf
[FIX] Emojis transparent on android (#1881)
Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-03-17 17:42:02 -03:00
devyaniChoubey 3997538eb0
[FIX] Incorrect size params to avatar endpoint (#1875)
Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-03-17 16:55:32 -03:00
devyaniChoubey d11277e691
[IMPROVEMENT] Make username clickable on message (#1618)
Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-03-17 13:14:54 -03:00
Diego Mello ab0736233d
[FIX] Storybook snapshots (#1831)
Co-authored-by: Djorkaeff Alexandre <djorkaeff.unb@gmail.com>
2020-03-05 11:40:32 -03:00
Sarthak Pranesh 74cc75a928
[TESTS] Markdown added to Storybook (#1812)
Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-03-04 10:57:07 -03:00
Diego Mello 005e1ac46b
[FIX] Detox tests (#1790) 2020-03-03 17:27:38 -03:00
Diego Mello 39d9a00933
[IMPROVEMENT] Markdown perf (#1796) 2020-02-28 13:18:03 -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
Sarthak Pranesh 91518a1bc4
[IMPROVEMENT] Hold URL to copy (#1684) 2020-02-14 10:39:42 -03:00
Diego Mello 400d33250d
[REGRESSION] Remove @ and # from mention (#1721) 2020-02-13 21:22:53 -03:00
Djorkaeff Alexandre b87472f10b
[NEW] UiKit Beta (#1497) 2020-02-11 11:01:35 -03:00
Djorkaeff Alexandre 66d21408b6 [NEW] Image Viewer (#1479) 2019-12-18 18:13:11 -03:00
Diego Mello cf98d794fd
[FIX] Few fixes on themes (#1477) 2019-12-17 11:08:06 -03:00
Diego Mello 7df6afdcd3
[FIX] Emoji parser not working on Hermes (#1445) 2019-12-11 16:00:38 -03:00
Diego Mello 7b51df377d
[NEW] Themes (#1298) 2019-12-04 13:39:53 -03:00
Diego Mello 4bb0bfa7eb
[IMPROVEMENT] Markdown performance when identifying emoji only content (#1422) 2019-11-27 17:53:14 -03:00
Djorkaeff Alexandre a0dc2bad4a [NEW] Tablet support (#1300) 2019-11-25 17:01:17 -03:00
Diego Mello b795a2fd59
[FIX] Audio player track and thumb not rendering on Android (#1273) 2019-10-04 10:38:35 -03:00
Djorkaeff Alexandre 67fb14fa9d [FIX] Messages preview issues (#1257) 2019-10-02 09:41:51 -03:00
Djorkaeff Alexandre fdc5114a30 [FIX] Jest (#1243) 2019-09-26 15:16:50 -03:00
Diego Mello 11249f962a
Update React Native to 0.61.1 (#1236)
* Update React Native to 0.61.1

* Update patch to SSL Pinning

* Revert storybook
2019-09-26 11:59:27 -03:00
Djorkaeff Alexandre 8d4d522b63 [IMPROVEMENT] Use FastImage on custom emojis (#1195)
* Use fastImage to custom emojis

* Add Text component on Paragraph render
2019-09-17 10:18:36 -03:00
Djorkaeff Alexandre 32a681036e [CHORE] Use JoyPixels (#1164)
* react-emojione -> emoji-toolkit

* Change to toUnicode()

* Fix ascii emoji on joypixels

* Revert unnecessary modify

* Fix some emojis

* Fix custom emojis (Android)

* Update Snapshot
2019-09-16 17:50:51 -03:00
Djorkaeff Alexandre c78732729d [IMPROVEMENT] Markdown refactored (#1151) 2019-08-27 09:25:38 -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
Diego Mello ba232547f1
[CHORE] Update to react-native 0.60.4 (#1095)
* Update to 0.59.10

* stash

* stash

* patch RN

* Try to fix openURL

* Fix compile Share Extension

* Minor fixes

* build ios

* tracking view working and added postinstall

* SafeAreaView vertical never

* tracking view patch

* Android build working

* Android notifications working

* Lint and tests

* Fix android build

* Add tools:replace="android:appComponentFactory"

* Android build

* Update vector icons

* Update webview

* Remove jsc

* Update document picker

* Firebase

* jetify on postinstall

* Patch expo-haptics

* CI

* Migrate packages manually

* Disable ci cache

* Revert "Disable ci cache"

This reverts commit 4740d86102.

* CI

* audio

* adapter

* notifications

* Try RN directly

* Fix gradle

* Revert patches

* Restore cache

* update redux and lodash

* eslint-config-airbnb@17.1.1 eslint-plugin-jsx-a11y@6.2.3

* ejson@2.2.0 react-native-webview@6.7.0 semver@6.3.0 snyk@1.210.0

* codecov@3.5.0 eslint-plugin-react@7.14.3 eslint-plugin-react-native@3.7.0 react-dom@16.8.6

* Update react-redux and remove decorators

* Update redux-saga and reactotron libs

* Husky

* Storybook libs

* react-native-webview@6.8.0 markdown-it-flowdock@0.3.8 react-native-unimodules@0.5.3

* Removed regenerator-runtime

* react-native-picker-select

* react-navigation-header-buttons

* Remove comments

* react-native-notifications

* Fix rnn android build
2019-08-07 10:51:34 -03:00
Djorkaeff Alexandre dafeb68704 [IMPROVEMENT] Change "resend" icon position (#1048) 2019-07-17 11:06:39 -03:00
IlarionHalushka 33611103f6 [FIX] Decrease bigger emoji size to 30 (#1031) 2019-07-04 13:17:57 -03:00
IlarionHalushka 013c151c10 [IMPROVEMENT] Bigger emoji in emoji only messages (#793)
* issue #725: bigger emoji in emoji only message

* issue-725/add storybook for Message/Emoji

* issue-725: update storybook/Message jest snapshot

* comment storybook import

* allow spaces and line breaks in emoji only message

* merge develop

* revert unnecessary spacing
2019-06-27 13:35:45 -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 a1b1af01c9
Update RN to 0.59.8 (#896)
* update IOS react native to 0.59.8

* update Android react native to 0.59.8

* fix eslint errors

* Android debug working

* Android build

* Fix lint

* Making jest happy

* Update CircleCI android image

* Fix android build

* Use 32 bits

* Fix iOS build

* Update detox

* Use new Xcode build system

* Use old build system

* Update realm (64 bits support)
2019-05-22 17:15:35 -03:00
Diego Mello 944e4198bb
[FIX] Message grouping not re-rendering (#911) 2019-05-21 10:32:06 -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
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 2f920c63e5
Update dependencies (#863)
* Minor updates

* Update jsc-android

* Update react-native-modal

* Minor updates

* Update react-native-fast-image

* Minor dev updates

* Few major updates

* Update react-native-keyboard-aware-scroll-view

* Update pods

* Update android-support

* Update tests
2019-04-30 18:56:41 -03:00
Diego Mello ee99001010
[FIX] Smaller thread title (#846)
* [FIX] Smaller thread title

* Remove markdown notation from thread title

* On message press debounce

* Align vertical thread title
2019-04-25 14:18:49 -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 0266cc2e01
Room item layout (#835) 2019-04-18 17:57:35 -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 fd5fbe47e8
Use FlatList in RoomView (#762) 2019-03-27 17:06:57 -03:00
Diego Mello a139cc83e5
New icons (#643)
* New Icons

* Remove unused assets

* Change send icon

* Layout tweaks

* Refactor Status

* Styles changed

* User layout fix

* Separator layout changes

* Sidebar status layout fix

* Fix Message.onLongPress issue

* Fix code markdown
Closes https://github.com/RocketChat/Rocket.Chat.ReactNative/issues/625

* Status lint

* Fix tests

* Navigation debounce

* RoomActions icons

* Space between components

* Group text

* Update tests
2019-03-01 13:49:11 -03:00
Diego Mello 8f5381d770
Update React Native to 0.58.6 (#668) 2019-03-01 11:40:22 -03:00
Diego Mello 8c1b57eb26
Message button (#660)
* Remove touchable opacity when scrolling messages
* Tap on disable messages closes keyboard
* Unify vibration
* Vibrate only on Android
2019-02-27 11:47:15 -03:00
Diego Mello 7bf1f3c0be
[FIX] Reply title should break text (#616) 2019-02-08 14:34:50 -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 e7277be004
[FIX] Flashing avatars on Android after #512 (#519) 2018-10-31 15:41:19 -03:00
Diego Mello 6dde0f2432
Fetch avatar initials from server (#512) 2018-10-29 10:53:32 -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 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
Diego Mello 96d0b1fcbc
[NEW] Message layout (#426)
* message container/component

* Separator component

* Reply

* Url

* tests updated

* Minor changes

* Audio component

* Broadcast button

* Minor touches

* Reply preview

* Edited

* Minor bug fixes

* - Update roadmap
- Bump version to 1.2

* Onboarding styles fix
2018-09-11 13:32:52 -03:00
Diego Mello dc6d60b28e
[NEW] Rooms list layout (#413)
* RoomsListView layout

* Rooms list layout

* Sort component

* Header icons

* Default header colors

* Add server dropdown

* Close sort dropdown if server dropdown will open

* UserItem

* Room type icon

* Search working

* Tests updated

* Android layout

* Using realm queries instead of array iterates

* Animation duration

* Fixed render bug
2018-08-31 13:46:33 -03:00
Diego Mello 91025e9d03 [NEW] Onboarding (#407)
<!-- INSTRUCTION: Keep the line below to notify all core developers about this new PR -->
@RocketChat/ReactNative

<!-- INSTRUCTION: Inform the issue number that this PR closes, or remove the line below -->
Closes #392 

<!-- INSTRUCTION: Tell us more about your PR with screen shots if you can -->
![aug-07-2018 17-03-50](https://user-images.githubusercontent.com/804994/43799447-f62074dc-9a63-11e8-8aac-bf2c4c5a8a2b.gif)
![aug-07-2018 17-03-35](https://user-images.githubusercontent.com/804994/43799446-f5f84a70-9a63-11e8-8947-265113ae9bf4.gif)
![aug-07-2018 17-03-13](https://user-images.githubusercontent.com/804994/43799445-f5d70ee6-9a63-11e8-94a9-f49c7d69fbba.gif)
2018-08-10 14:26:36 -03:00