* feat: media auto-download view
* media auto download view completed and saving the settings in mmkv
* audio download preference
* audio auto download when the user who sent the audio is the same logged on mobile
* creation of isAutoDownloadEnabled, evaluate hist hook, Image Full Size preload done
* minor tweak audio show play button after download
* refactor audioFile to handleMediaDownload and fixed the audio download
* desestructured params to download too
* image download and autoDownload, algo fix the formatAttachmentUrl to show the image from local
* add the possibility to cancel image download and clear local images
* refactor blur component
* video download and auto download, also keeped the behavior to download unsuportted videos to the gallery
* add the possibility to start downloading a video, then exit the room, back again to room and cancel the video previously downloading
* remove the custom hook for autoDownload
* remove blurcomponent, fix the blur style in image.tsx, minor tweak video function name
* send messageId to video
* introducing the reducer to keep the downloads in progress
* create a media download selector
* remove all the redux stuff and do the same as file upload
* video download behavior
* done for image and audio
* fix the try catch download media
* clean up
* image container uiKit
* fix lint
* change rn-fetch-blob to expo-filesystem
* add pt-br
* pass the correct message id when there is an attachment on reply
* refactor some changes requested
* fix audio and move the netInfo from autoDownloadPreference to redux
* variable isAutoDownloadEnable name and handleMediaDownload getExtension
* message/Image refactored, change the component to show the image from FastImage to Image
* refactor handleMediaDownload and deleteMedia
* minor tweak
* refactor audio
* refactor video
* fix the type on the messagesView(the view of files)
* minor tweak
* fix the name of searchMediaFIleAsync's result
* minor tweak, add the default behavior, add the OFF as label
* minor tweaks
* verify if the media auto download exists on settings view
* fix media auto download view layout and minor tweak wifi
* avoid auto download from reply
* minor tweak at comment
* tweak list.section
* change the name to netInfoState and Local_document_directory
* remove mediaType and refactor audio and image
* separate blurview
* thumbnail video and video behavior
* add Audio to i18n and minor tweak
* set the blur as always dark and add the possibility to overlay
* don't need to controle the filepath in the view
* fix the loading in image and video at begin
* save the file with a similar filename as expected
* removed the necessity of messageId or id
* minor tweak
* switch useLayoutEffect to useEffect
* avoid onpress do some edge case because of cached at video
* minor tweak
* tweak at audio comment extension
* minor tweak type userpreferences
* remove test id from mediaAutoDownloadView
* change action's name to SET_NET_INFO_STATE
* caching and deleting video's thumbnails
* remove generate thumbnail
* minor tweak in image
* update camera-roll and save the file from local url
* remove local_cache_directory and deleteThumbnail
* update blur to fix error on android
* fix blur is hiding the file description
* avoid download unsupported video
* return void when it is loading the audio
* using database query instead of Rocketchat search api to get message search results
* getting search data from server then converting it into the format as required for message rendering
* fixing some redundant changes
* remove ts-ignore
* removing redundant statements
* url preview is visible when we see messages in pinned, mentions and starred messages
Co-authored-by: Gerzon Z <gerzonzcanario@gmail.com>
* update: `BackgroundContainer` and `ActivityIndicator`
* update: return type for `RCActivityIndicator`
* update: return type for `BackgroundContainer`
* Chore: Migrate Markdown to TS
* Chore: Migrate Markdown to TS
* minor tweak
* added preview where markdown was preview and fixed params within markdown
* removed ts-ignore
* fix lint
* removed numbersofline={0} and default value to numberOfLines=1
* change how to import markdown preview and remove numberOfLines
* using useTheme inside markdownPreview and remove theme from components
* minor tweak on interfaces
* isNewMarkdown return as boolean
* minor tweaks
* minor tweaks
* removed unused component
* fixed markdown stories
* updated snapshot because removed numberOfLines={0} from message/content
* create IEmoji.ts in definitions and refactor all places where getCustomEmoji was called
* onLinkPress typed
* todo: refactor navtoroominfo
* formatText.test.ts
* markdown stories to typescript too
* minor tweak
* IMessage definition
* refactor: update new types and interfaces for use ISubscription
* refactor: update threadItem for use new MarkdownPreview
* refactor: rollback wrong file commited
* formatHyperlink
* fix lint
* updated item story shot
* refactor and refactor some types
* Remove non-null assertion
* Minor change on useRealName
* tweak
Co-authored-by: AlexAlexandre <alexalexandrejr@gmail.com>
Co-authored-by: Diego Mello <diegolmello@gmail.com>
* 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
* Adding missing prop to item object
Signed-off-by: Ezequiel De Oliveira <ezequiel1de1oliveira@gmail.com>
* Resolving the missing date in the files section in a more elegant way
Signed-off-by: Ezequiel De Oliveira <ezequiel1de1oliveira@gmail.com>
* Using ts attribute always inside of an item object
Signed-off-by: Ezequiel De Oliveira <ezequiel1de1oliveira@gmail.com>
Co-authored-by: Diego Mello <diegolmello@gmail.com>
* Set title in header of room actions view items
Signed-off-by: Ezequiel De Oliveira <ezequiel1de1oliveira@gmail.com>
* Remove unneeded spaces
Signed-off-by: Ezequiel De Oliveira <ezequiel1de1oliveira@gmail.com>
* Set header title on constructor
Signed-off-by: Ezequiel De Oliveira <ezequiel1de1oliveira@gmail.com>
* Remove unused navigation options
Signed-off-by: Ezequiel De Oliveira <ezequiel1de1oliveira@gmail.com>
Co-authored-by: Diego Mello <diegolmello@gmail.com>
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.
- 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)
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.