* [FIX] Mention suggestion concatenate to query string
* Add function to get regexp and its tests in separate files
* Update getRegexp.ts
* Update file names
* Try new regex
* One regex for all mention types
Co-authored-by: Gleidson Daniel Silva <gleidson10daniel@hotmail.com>
* Chore: Migrate methods/loadSurroundingMessages to Typescript
* tweaks
* tweak
* tweak
* tweaks to make ts happy
* instead as IMessage is optional u
* enum to MessageTypeLoad
* minor tweaks
* chore: start the migration
* chore: update sendFileMessage to ts
* chore: removing an `any` from uploadQueue
* chore: minor tweak
* chore: minor tweak
* chore: minor tweaks after merge with developer
* chore: minor tweak after merge develop into current
* 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>
* [FIX] Regression: Prevent duplicated .jpg on file upload
* refactor to all files typed as image/jpeg
* isolate regexp to function
* refactor forceJpgExtension
* clean
* minor tweak
* [FIX] Regression: Prevent duplicated .jpg on file upload
* refactor to all files typed as image/jpeg
* isolate regexp to function
* refactor forceJpgExtension
* clean
* minor tweak
* refactored comment
* Updated detox and 5 tests
* Update e2e cases for Detox v18, update setUserStatus and added SET_STATUS_FAIL
* Downgrade mocha
* Exclude arm64 from building and update tests cases
* Update more tests cases, add registeringUser4
* Update more test files and add room-actions-scrollview testID
* Update package.json
* Remove unused username from test file and update 08-roominfo test file
* Fixing
* Mark as unread
* Fixing flaky tests
* Minor fixes
Co-authored-by: Diego Mello <diegolmello@gmail.com>
* [Improvement] Improve mentions
This PR focuses on improving command, emoji, channel and user mentions.
* [Tests] Added e2e tests for mention improvement
* [Improvement] Modify slash command mention logic.
Added slash command with argument preview
Slash command should show only if the message bigins with /
* Return data on search for empty text
* Minor fixes
* Update e2e tests
* Minor fix
* [FIX] allow command mentioning in between text
Co-authored-by: Diego Mello <diegolmello@gmail.com>
* Changing auxilaryTintColor
* Changed Placeholder color to BodyText color
* added color prop
* eslint changes
* used array for styles
Co-authored-by: Diego Mello <diegolmello@gmail.com>
* [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>
* [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>
* Create method to track user event to isolate the logic to improve future refactoring
* Track Onboarding view
* Track NewServer view
* Refactor track method due to firebase already send the current screen
* Track default login and all the oAuth options
* Track default sign up in RegisterView
* Change trackUserEvent signature and update all the files
* Track the remaining login services
* track add server, change server and search
* Track SidebarView and refactor to use react-navigation
* Track profile events and handle exceptions
* Track create channel flux
* Track send message to user via NewMessageView
* Track create direct message flux
* Handle failure of create channel and group in the saga
* Track create discussion flux
* Track navigate to directory and its actions
* Track read, favorite and hide a channel, handling its errors
* Track all channels sorting and grouping
* Resolve requests to improve the importing logs and events
* Remove unused events file
* Remove unused events file
* log proposed Room events
* Log proposed Message actions events
* Log EditStatus proposed events
* Log Settings proposed events
* Leave a bugsnag breadcrumb when logging an event
* Move all logEvent to the top of code block and log remaining fail events
* Move all the non-logic-dependent logEvent to the top of code block
* Move all non-logic and non-data dependent logEvent to the top of code block
* Improve the logging of sidebar events
* Improve events from onboarding and newserver
* Improve events from login and register view, and log enter with apple
* Improve NewMessageView events
* Improve CreateChannel events
* Improve CreateDiscussion and SelectedUsers create group events
* Improve RoomsList events and log trivial events
* Improve ProfileView events
* Remove single line function body for the sidebarNavigate
* Improve SettingsView events
* Log more events from ScreenLockConfigView
* Navigate to Status and AdminPanel View using the defined sidebarNavigate method
* Improve StatusView events
* Improve RoomView events
Co-authored-by: Diego Mello <diegolmello@gmail.com>
* [NEW] MessageBox: Expo-av audio recorder
* Refactor MessageBox to accommodate recording button even when recording
* Rename Recording.js -> RecordAudio.js as we could implement video recording in the future
* RecordAudio: Introduce cancel and send buttons
* RecordAudio: Introduce recorderBusy state, refactor MessageBox, remove useless SafeAreaView
* RecordAudio: Better audio quality 🎉, stop recording on unmount
* RecordAudio: Use FileSystem from expo-file-system instead of RNFetchBlob
* chore: flush out react-native-audio
* fix(MessageBox): bring back some missed styles during refactor
* refactor(RecordAudio): use class component
* refactor(RecordAudio): recorder busy to class property, styling changes
* recorder initialisation changes
* fix(RecordAudio): missing await in isRecordingPermissionGranted
* fix(RecordAudio): set isRecording = false on cancel/finish, refactor perms
Co-authored-by: Diego Mello <diegolmello@gmail.com>