* Use localPath when available
* Revert changes to replace space for dash in the filename
* Rename other action to external and always call onDownloadSuccess if defined
* add missing localization strings
* Add User Mention to autocomplete
* Minor fixes
* Fix at_mention (you) alignment
* Add missing translation strings
* Make it more parallel to channel mentions
* Fix bot tag
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Permalink initial commit
* Fixes: 10 items per page
* MM-40203: permalink modal viewer for mentions
Is triggered by pressing on an item in mentions,
and shows posts around that item, including the item in a modal.
* Adds previously deleted file
* address feedback
* Move showPermalink as a remote action
* address more feedback
* fetchPostsAround to only return PostModel
* Attempt to autoscroll to highlighted item
* Permalink to not highlight saved and pinned posts
* Add bottom margin using insets to permalink screen
* Use lottie loading indicator
* Switch to channel
* Missing translation string
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* edit screen - in progress
* edit screen - in progress
* edit post screen - post input - in progress
* edit post screen - post input - in progress
* edit post screen - post input - in progress
* edit post screen - post input - in progress
* edit post screen - post error component - in progress
* edit post screen - post error component - in progress
* edit post screen -emitEditing - in progress
* edit post screen - in progress
* edit post screen - in progress
* edit post screen - in progress
* able to edit post
* edit post screen - in progress
* edit post screen - in progress
* edit post screen - in progress
* edit post screen - in progress
* updated errorLine
* corrections
* edit post screen - in progress
* edit post screen - in progress
* edit post screen - in progress
* properly closes modal on tablets
* starts with Save button set to false
* refactored onTextSelectionChange
* added useTheme to ErrorTextComponent
* passing canEdit and hasFilesAttached
* passing canEdit and hasFilesAttached
* fix API call
* change canEdit to canDelete
* nearly there
* displays alert
* maxPostSize
* autocomplete - fixing layout
* autocomplete - fixing layout
* autocomplete - work in progress
* autocomplete - work in progress
* clean up delete
* fixing autocomplete
* code fix
* added server error message
* update i18n
* removed comment
* code fix
* fix bug on empty post message
* post input top corrections
* post draft limit
* code corrections as per review
* removed theme from useEffect
* update edit_post - delete call
* refactor PostInputRef to EditPostInputRef
* autocomplete position fix and feedback addressed
* Navigation title & subtitle fonts / navigation button builder
* ux feedback
* delay focus of edit input by 20 frames
* properly dismiss the PostOptions screen
this comes from the fix for the BottomSheet screen
* using device info to check for physical keyboard
* autocomplete with keyboard closed
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* MM-39710: saved posts screen and DB
- Adds ids of saved posts to the systems table, as we do with recent
mentions.
- Adds a new remote action to fetch saved posts (getFlaggedPosts).
- Adds a new screen to display those in a mobile.
- Displays saved posts in the tablet view next to profile card.
* Uses Preferences instead of System table
Renames to saved posts wherever possible
* Adds text to localization file
* Fixes fetching/saving saved posts
* Refactor mini post to components folder
* Fixes hooks dependencies according to review
* Removes unnecessary 'withObservables'
* Small refactor
* Satisfies linter
* Adds empty state
And fixes empty state icon to be theme sensitive.
Both recent_mentions and saved_posts.
* Fixes empty screen's alignment
* Add missing preference
* add missing translation strings
* remove unused database type definition
* Fetch newly saved post
* Fix return type for client.getSavedPosts
* Remove usage of lodash compose
* Rename get remote actions to fetch
* Include close button for savedPost modal
* fix tablet view for SavePosts and use lottie loading indicator
* Render post with content for save posts and recent mentions
* post list viewable items type definition
* Add layout width to post content for saved post screen
* Use PostWithChannel and viewableItems for saved posts and recent mentions
* Layout margin of 20
* openGraphImage margin
* Fix openGraphImage display
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Add Create DM screen
* Add channel toggle and minor improvements
* Fix tests and apply new UI
* Address feedback UX feedback and fix missing menu item by adding another item height
* Add display name to channels and piggyback improvement on fetchUserByIds action and translations fix
* Address feedback
* Fix hardcoded colors
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Thread screen
* misc
* Added snapshot for ThreadOverview
* Updated snapshot
* Misc
* Updated snapshot and ts fixes
* Made thread as a modal, fixes post list not closing on tablet
* Removed unsued variables
* Putting back the empty space before the root post (inverse list footer)
* Changed input text
* Removed empty footer space
* Misc fixes
* Disables new messages line for thread
* Loading threads before opening modal & BottomSheet componentId fix
* Moved merge navigation options to switchToThread
* Moved LeftButton to switch to thread
* Removed Q.and
* Misc fixes
* Added task id for pagination
* Removed useMemo, Q.and
* move thread close button as a prop
* Remove title font styles to use default
* Misc changes
* Misc fix
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* 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
* Squash, rebase, test fixes
* PR Feedback addressed
* fix snapshot tests with SafeAreaProvider
* Addresses feedback
* Adds Category & Channel error
* Tests fixed
* MyChannel count
* finalize DM and GM avatars and icon as well as other small fixes
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Edit Server display name
* Lock iPhone to portrait and iPad to landscape
* Create actions for app global to store device token and multi server tutorial
* Add MutliServer tutorial on first use
* WebSocket reconnection priority
* have isRecordGlobalEqualToRaw to not check for value
* Return early on edit server if error is found
* Prepopulate server screen with last logged out server address and name
* Add CompassIcon to circleCI asset generation
* Servers logout and websocket state
* addNewServer uility and rename file
* add LaunchType for add new server
* added time to LaunchProps type
* Remove unnecessary props for launchToHome
* Fix local action updateLastPostAt
* Batch fetchProfilesPerChannels requests in chunks of 50
* WS handleUserAddedToChannelEvent to return early if no channelId is set
* WS handleNewPostEvent to batch update last_post_at
* add common actions to sync other servers
* Entry actions to sync other servers data
* Do not attempt to fetch notification data if payload does not contain a channelId
* Set database as default at the end of the login flow
* Handle logout when other servers remain
* Handle Server options
* Show alert when logging out from the account screen
* Add workaround to have Lottie animate the loading component
* Fix badge position in ServerIcon component
* Server screen to support adding new server
* Fix login screen to display error when credentials do not match
* add localization strings
* fix DatabaseProvider to update on server switch
* Fix home icon and server icon subscriptions and badge display
* Add dependencies to onLogout callback
* feedback
* Only updateLastPostAt if needed
* 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>
* feature edit profile screen
* minor refactoring
* Apply suggestions from code review
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* ts fixes
* revert floatingTextInput label
This reverts commit a778e1f761.
* code clean up
* Apply suggestions from code review
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* code fix
* code fix
* Adding preventDoubleTap
* rename id to fieldKey
* Update edit_profile.tsx
* wip
* navigating through fields; partly done
* navigating through fields - partly done
* navigating through fields; partly done
* completed field navigation
* added theme into dependency array
* code clean up
* revert conditions for disabling fields
* Added colorFilters prop to Loading component
* Completed loading feature on Edit Profile screen
* code clean up
* Add profile_error
* renamed valid_mime_types to valid_image_mime_types
* added props isDisabled to email field
* refactored next field logic
* fix
* fix
* code clean up
* code clean up
* Updated ESLINT hook rules to warning instead of disabled
* code fix
* code fix
* new line within your_profile component
* added memo for Field component
* added canSave to dependency array
* update loading component - color filter
* Update app/screens/edit_profile/edit_profile.tsx
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* dependency fix
* fix to fetch my latest status
* fix to remove unnecessary user id for local action updateLocalUser
* prevents bouncing for iOS
* code revert
* Adding textInputStyle and animatedTextStyle to FloatingTextInput component
* correction after dev session
* adding changes as per new ux
* Update edit_profile.tsx
* corrections after ux review
* ux review
* ux review
* code clean up
* Adding userProfileFields into useMemo
* Add enableSaveButton to dependency of submitUser
* Revert fetching status on userProfile
* EditProfile enable extraScrollHeight on iOS only
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Channel Intro
* Move avatar margins to post component per feedback review
* Channel intro redesign
* Fix preferences unit test
* Change group intro sizes
* Add Bot tag to DM Intro if they have it
* fix channel isTablet layout on split screen
* update snapshot
* [Gekidou]: MM-39757 - Recent mentions
* Refactor channel_info to a separate component
* Fixes schema tests
* Fixes channel_info theme color
* Removes RECEIVED_MENTIONS table and model
Removes RECEIVED_MENTIONS table and model and saves recent_mentions in
the SYSTEM table under the recentMentions ID.
* Cleanup recent_mentions handler
* Adds i18n in recent_mentions screen
* Observe changes on the post messages
* Addresses review comments
* Batches records
* Addresses review comments
* Addresses review comments
* Addresses review comments
* Addresses review comments
* Fetches channels and users needed for mentions
Fetching mentions from all teams might result in missing info like user
profiles, and channels missing from the DB.
This commit fetches all missing users and channels.
* Adds empty state for recent mentions
* Prepares all missing models for channels
* Addresses review comments
* Fixes mention keys for recent mentions
User mention keys when asking for mentions should not include general
purpose ones, like @channel, @all, @here.
Fixes ActivityIndicator color in recent mentions screen.
* Removes top margin of mention message
* Addresses review comments
* Fixes group.name undefined
* Custom navigation header
* Add Search props to header
* Add Search props to header
* Simplify example
* Set large subtitle opacity to 80%
* Add extra spacing on large title
* 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
* Started with bottom tabs layout
* code clean up
* Added animation to bottom tab bar
* returns null if not focused
* code clean up
* Updating layout
* Updated modal screen
* Updated animation
* Updated animation
* Fix SafeArea on Home
* A few clean ups
* code clean up
* Fix issue with navigation on Android
* Use React Navigation in combination of RNN & create bottom tab bar
* Set tab bar line separator height to 0.5
* Fix snapshot tests
* Add home tab mention badge
* Apply new themes
* Home Tab badge
* Remove unused constants
Co-authored-by: Avinash Lingaloo <>
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Login entry point
* feedback review
* sort imports
* Fix model relations
* Handle when no current team or current channel has been selected
* Fix MFA unit test
* update prepareCommonSystemValues arguments