* Add column last_fetched_at to MyChannel & Thread tables and the migration
* Fix schema tests
* Handle lastFetchAt, retrieve threads on init and properly observe thread unreads (#6436)
* [Gekidou] Set lastFetchAt when fetching posts for a channel (#6437)
* Set lastFetchAt when fetching posts for a channel
* When resetting _preparedState set always to null
* Revert changes in WS
* Handle and set lastFetchedAt for MyChannel in iOS push notification
* feedback review
* iOS fallback to last post createAt if no lastFetchAt set
* Handle lastFetchAt on Android push notifications
* create storePostsForChannel local action
* Fix iOS fallback to last post create_at
Co-authored-by: Daniel Espino García <larkox@gmail.com>
* Add try again functionality to failed posts
* Fix attach files on Android
* feedback review
* Prevent android crash when uploading files for the first time
* Update the timestamp for updateAt when retrying to post
* Add POST TIME TO FAIL
* use function isPostFailed
* upgrade to RN 68 (old arch)
* remove test setup unused & commented mock
* Android target set to 30
* Fix theme when opening app from push notification
* upgrade common mark
* Gallery screen (ground work)
* Open the gallery from posts
* Open the gallery from post draft
* feedback review
* Feedback review 2
* do not remove dm channel names and localization fix
* update to the latest network-client
* do not override file width, height and imageThumbail if received file does not have it set
* bring back ScrollView wrapper for message component
* Remove Text wrapper for markdown paragraph
* Fix YouTube play icon placeholder
* Make video file play button container round
* Add gif image placeholder
* Save images & videos to camera roll
* Feedback review 3
* load video thumbnail when post is in viewport
* simplify prefix
* Fix & small refactor to the app entry logic and WS reconnection
* Remove not needed log in MainActivity
* Replace async forEach with for await
* extract getClient to its own block
* replace double filter with reduce
* fix select channel on WS reconnect and user no longer belongs to current team
* feedback review on WS users actions
* Add windowFocusChanged for Android only
* on WS reconnection set team & channel if not member of current team
* reduce suggestion
* feedback review
* Initial commit post input
* Fix message posting, add create direct channel and minor fixes
* Fix "is typing" and "react to last post" behaviour
* Some reordering, better handling of upload error, properly clear draft on send message, and fix minor progress bar misbehavior
* Add keyboard listener for shift-enter, add selection between video or photo while attaching, add alert when trying to attach more than you are allowed, add paste functionality, minor fixes and reordering
* Add library patch
* Fix lint
* Address feedback
* Address feedback
* Add missing negation
* Check for group name and fix typo on draft comparisons
* Address feedback
* Address feedback
* Address feedback
* Address feedback
* Fix several bugs
* Remove @app imports
* Address feedback
* fix post list & post draft layout on iOS
* Fix post draft cursor position
* Fix file upload route
* Allow to pick multiple images using the image picker
* accurately get the channel member count
* remove android cursor workaround
* Remove local const INPUT_LINE_HEIGHT
* move getPlaceHolder out of the component
* use substring instead of legacy substr for hardward keyboard
* Move onAppStateChange above the effects
* Fix camera action bottom sheet
* no need to memo SendButton
* properly use memberCount in sender handler
* Refactor how to get memberCount
* Fix queryRecentPostsInThread
* Remove unused isDirectChannelVisible && isGroupChannelVisible util functions
* rename errorBadUser to errorUnkownUser
* extract localized strings
* use ClientErrorProps instead of ClientError
* Minor improvements
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Disallow the same server from being added the twice
* Add Default Server name config & EMM managed config
* Update android/app/src/main/res/values/strings.xml
Co-authored-by: Jason Frerich <jason.frerich@mattermost.com>
Co-authored-by: Jason Frerich <jason.frerich@mattermost.com>
* initial checkin
* all text is added
* add fonts
* wip
* get fonts from differnt site suggestion from matt
* use actual apostrophe
* add react-native-paper dependency
* wip
* add project info for metropolis fonts
* correct the display name help text alignment with stretch
use paper theme to color and make the the placeholder opaque
remove placeholder prop because spec wants the box to be empty on focus
* fix Metropolis font reference
* Add more styling. Clean up code later
* input box text theme color
* separate padding for two textinput boxes
share the input theme
* Use ActivityIndicator from react-native-paper
* wrap formatText components in a view so they scroll up inline with the
text inputs and button
* clean up styles section. no empty lines and no comments
* Use Colors library instead of harcoding #FFFFFF
* Move error message into helper directly under the server url input box
* need to handle the error so it can be presented in the modal
* set state for button is disabled or not
reset errors before every connect attempt
* when url is not valid show the error message and disable the connect
button until some text in display or the url input changes
* s/generic/default/
* group formatted messages together
* Add icon to the error message
fix clipped helper messages
* when urlError is not '', make the input border red
after connecting creates an error, typing in the input boxes will
* enable the connect button
* reset the error messages
* change outline from red to blue
* After connecting and the server url has an error, allow the user to
click the display input and keep the url border red. The only time the
red border and error reset is when the user types in that field again
* remove duplicate button component. only get the prop values and
construct after all values defined
* use correct icon and add spacing between icon and text
* fix styling for Android
New styling from figma
* initial add of background svg. RHS is off a bit
* sync with gekidou changes
* sync with gekidou
* sync with gekidou
* sync with gekidou
* sync with gekidou
* use new FloatingTextInput component
* Added widgets/text_settings
* wip
* wip
* Update index.tsx
* work in progress
* fix text settings component
* fix text settings component
* crash fix
* code clean up
* Update index.tsx
* Fix testSettings
* Wrap with View so the text moves with the text inputs when keyboard
appears
* update styling
when user starts typing in server url after a failed connect, dismiss
the error
* use utils/buttonStyles
* leave as it was to minimize irrelevant PR diffs
* nit
* Align all components
Add vertical margin to styles
Add subcontainer and container props to text_setting component
Use FormattedText for choosing a display name text instead of
text_setting helper text
* revert midnight change
* reset the connecing error when a user starts modifying the server url
* formatting
remove svg
repalce <Text> with <FormattedText>
* fix lint
* remove svg file
* Listening for appearance to set the theme for non connected screens
* Pass the theme as a prop for TextSettings
* Fix Server screen layout and pass the displayName for DB creation
* Tablet layout
* Persist keyboard on tap
* Change position & opacity for app version
* added background SVG
* Fix non theme control screens status bar color
* Split Server screen into smaller components
* fixed svg background layout for tablet
* Bring back form & header and remove some extra background color and styles
* Remove duplicate font reference in Info.plist
* Final UI tweaks
* Fix error display on url field
* margin bottom to app version
* Add ClientError utility to extract error
* update snapshot
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
Co-authored-by: Avinash Lingaloo <avinashlng1080@gmail.com>
Co-authored-by: Matthew Birtch <mattbirtch@gmail.com>
* Push notifications entry point
* Process android notification natively only if RN is not initialized
* Database changes to store local channel viewed_at
* EphemeralStore wait until screen removed
* Move schedule session notification to utility
* Fix channel remote & local actions + added actions for markChannelAsViewed & fetchMyChannel
* Add fetchMyTeam remote action
* Add dismissAllModalsAndPopToScreen to navigation
* Improve post list component & add app state to re-trigger queries
* Improve WS implementation
* Handle push notification events
* Fix postsInChannel since handler
* Handle in-app notifications
* Post list to listen to column changes
* Track selected bottom tab in ephemeral store
* add useIsTablet hook
* in-app notifications on tablets