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
3c9017a62d
[NEW] E2E Encryption ( #2394 )
...
* Add E2EKey to Subscription Model
* Install react-native-simple-crypto
* Install bytebuffer
* Add translations
* CreateChannel Encrypted toggle
* Request E2E_Enabled setting
* Add some E2E API methods
* POC E2E Encryption
* Garbage remove
* Remove keys cleaner
* Android cast JWK -> PKCS1
* Initialize E2E when Login Success
* Add some translations
* Add e2e property to Message model
* Send Encrypted messages
* (iOS) PKCS1 -> JWK & e2e.setUserPublicAndPrivateKeys
* (Android) PKCS1 -> JWK & e2e.setUserPublicAndPrivateKeys
* Create an encrypted channel
* Fix app crashing on RoomsList
* Create room key
* Set Room E2E Key (Android)
* Edit room encrypted
* Show encrypted icon on messages
* logEvents
* Decrypt pending subscriptions & messages
* Handle user cancel e2e password entry
* E2ESavePasswordView
* Update Snapshot
* Add encrypted props to message on Send
* Thread messages encryption
* E2E -> Encryption
* Share Extension: Share encrypted text
* (POC) Search messages on Encrypted room
* Provide room key to new users
* Request roomKey on stream-notify-room-users
* Add e2eKeyId to Room Model
* (WIP) E2E Encryption Screens
* Remove encryption subscription file
* Move E2E_Enable to Server Model
* Encryption List Banner
* Move Encryption init to Sagas
* Show banner only when enabled
* Use RocketChat/react-native-simple-crypto
* Search on WM only when is an Encrypted channel
* (WIP) Encryption Banner
* Encryption banner
* Patch -> Fork
* Improve send encrypted message
* Update simple-crypto
* Not decrypt already decrypted messages
* Add comments
* Change eslint disable to inline
* Improve code
* Remove comment
* Some fixes
* (WIP) Encryption Screens
* Improve sub find
* Resend an encrypted message
* Fix comment
* Code improvements
* Hide e2e buttons on features if it is not enabled
* InApp notifications of a encrypted room
* Encryption stop logic
* Edit encrypted message
* DB batch on decryptPending
* Encryption ready client
* Comments
* Handle getRoomInstance errors
* Multiple messages decrypt
* Remove unnecessary try/catch
* Fix decrypt all messages history
* Just add a questionmark
* Fix some subscriptions missing decrypt
* Disable request key logic
* Fix unicode emojis
* Fix e2ekey request
* roomId -> subscription
* Decrypt subscription after merge
* E2ERoom -> EncryptionRoom
* Fix infinite loading
* Handle import key errors
* Handle request key errors
* Move e2eRequestRoomKey to Rocket.Chat
* WIP handshake when key should be requested
* Add search messages explanation
* Remove some TODO and update comments
* Improvements
* Dont show message hash to user
* Handle key request & prevent multiple calls
* Request E2EKey on decryptSubscription that doesn't exists on database yet
* Insert decrypted subscription
* Fix crash after login
* Decrypt sub when receive the key
* Decrypt pending messages of a room
* Encrypted as a switch
* Buffer to Base64 URI Safe
* Add a relevant comment
* Prevent import key without a privateKey
* Prevent create a new instance when client is not ready
* Update simple-crypto & remove replace trick
* More comments
* Remove useless comment
* Remove useless try/catch
* I18n all E2E screens
* E2ESavePassword -> E2ESaveYourPassword
* Prevent multiple views on message when is not encrypted
* Fix encryption toggle not working sometimes
* follow some suggestions
* dont rotate icons
* remove unnecessary condition
* remove unreachable event
* create channel comment
* disable no-bitwise rule for entire file
* loadKeys -> persistKeys
* getMasterKey -> generateMasterKey
* explicit difference between E2EKey & e2eKeyId
* roomId -> rid
* group columns
* Remove server selector
* missing log events
* remove comment
* use stored public key
* update simple-crypto & remove base64-js patch
* add some logs
* remove unreachable condition
* log errors
* handle errors on provide key directly on subscription
* Downgrade RocketChat/react-native-simple-crypto
* improve get room instance
* migration of older apps
* check encrypted status before send a message
* wait client ready
* use our own base64-js
* add more jest tests
* explain return
* remove unncessary stop
* thrown error to caller
* remove superfluous checks
* use Encryption property
* change ready state logic
* ready -> establishing
* encryption.room -> encryptionRoom
* EncryptionRoom -> Room
* add documentation
* wait establishing before provide a room key
* remove superfluous condition
* improve error handling logic
* fallback e2ekey set
* remove no longer necessary check
* remove e.g.
* improve getRoomInstance
* import from index
* use batch
* fix a comment
* decrypt tmsg
* dont show hash when message is encrypted
* Fix detox
* Apply suggestions from code review
Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-09-11 11:31:38 -03:00
Djorkaeff Alexandre
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
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