* 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>