* Add terms of service
* Add i18n
* Fix test
* Address feedback
* Address ux feedback
* Update texts
* Avoid Review to show on top of ToS
Co-authored-by: Daniel Espino <danielespino@MacBook-Pro-de-Daniel.local>
* Activating screens
* Registering the screen
* Adding default themes for components
* Porting items rows, WIP
* WIP Custom List
* Pasting old code to integration_selector, WIP
* No TS errors on components
* Adding selector options
* fix types
* Adding state with hooks
* Page loading with no results
* fix search timeout
* Getting channels, not painting them yet
* searching for profiles
* tuning user and channel remote calls
* Fix radioButton error
* channels being loaded
* rendering options
* Rendering users
* Preparing search results
* Added onPress events for everybody!
* single select working for all selectors
* Remove dirty empty data fix
* remove unused data on custom list row
* fic touchableOpacity styling
* Adding extra info to userlistRow
* Search results (channels and users)
* filter options!
* Adding i18n
* Adding username as name
* move code to effects
* fix typing onRow
* multiselect selection working, missing a "Done" button
* commenting out the selector icons, moving selected options to func
* Added button for multiselect submit
* Fixing data types on selector
* 💄 data sources check
* cleaning custom_list_row
* Fix onLoadMore bug
* ordering setLoading
* eslinting all the things
* more eslint
* multiselect
* fix autocomplete format
* FIx eslint
* fix renderIcon
* fix section type
* actions not being used
* now we have user avatars
* Fix icon checks on multiselect
* handling select for multiple selections
* Moving to its respective folders
* components should render
* Added some test cases
* Multiple fixes from @mickmister feedback
* changing lock icon to padlock on channel row
* Fix children lint errors
* fix useEffect function eslint error
* Adding useCallback to profiles, channels and multiselections
* Fixing @larkox suggestions
* type checking fixes
* Fix onLoadMore
* Multiple hook and functionality fixes
* 🔥 extraData and setting loading channels better
* fix teammate display
* Fix multiselect button selection
* Fix returning selection to autocomplete selector
* Using typography
* Updating snapshots due to typography changes
* removing UserListRow, modifying the existing one
* Extract key for data sources
* Multiselect selection refactor
* fix setNext loop
* refactoring searchprofiles and channels
* Using refs for next and page
* Callback and other fixes
* Multiple fixes
* Add callback to multiselect selected items
* integration selector fixes
* Filter option search
* fix useCallback, timeout
* Remove initial page, fix selection data type
Co-authored-by: Michael Kochell <6913320+mickmister@users.noreply.github.com>
* User profile
* Access User Profile from reaction list
* Fix threads participants list & open user profile on tap
* Extra bottom padding
* Profile long press tutorial
* Adjust heights
* Reduce label margin from 12 to 8
* Pinned messages
* Move isCRTEnabled query to be called earlier and only once
* Update Channel stats when post is (un)pinned
* Create svg module type definition
* Add missing localization strings
* feedback review
* added chevron to menu item component
* starting with the skeleton
* starting with the skeleton
* starting with the skeleton
* starting with the skeleton
* remove extra line
* tested on tablets
* some corrections
* corrections as per review
* starting with notification skeleton
* attached notification settings to navigation
* added auto responder
* update translation
* update snapshot
* updated snapshot
* correction after review
* removed unnecessary screen
* refactored
* updated the testIDs
* Update Package.resolved
* refactor
* removed Mattermost as default server name
* fix ts
* refactored settings constant
* display settings skeleton
- pending: query for allowed themes
* added 'allowedThemes' query
* added section item
* mention screen skeleton in place
* added section and sectionItem component
* added reply section to the mention screen
* update i18n
* rename screens properly
* update i18n
* Refactored to MentionSettings component
* Refactored to ReplySettings component
* style clean up
* textTransform uppercase
* rename Section/SectionItem to Block/BlockItem
* added mobile push notif screen - push status section
* adding text to those two components
* correction following review
* added mobile push notification section
* added mobile push notification thread section
* style fix
* code fix
* code fix
* MM-39711 - Gekidou Notification - Auto Responder main screen (#6313)
* added skeleton for auto responder
* code clean up
* correction from peer review
* correction from PR review
* clean up
* PR review correction
* correction
* clean up
* clean up
* code clean up
* code clean up
* Channel Info screen
* Delete the channel & related data when archiving while viewing archived channels is off
* feedback review
* UX feedback
* Add missing isOptionItem prop
* added chevron to menu item component
* starting with the skeleton
* starting with the skeleton
* starting with the skeleton
* starting with the skeleton
* remove extra line
* tested on tablets
* some corrections
* corrections as per review
* starting with notification skeleton
* attached notification settings to navigation
* added auto responder
* update translation
* update snapshot
* updated snapshot
* correction after review
* removed unnecessary screen
* refactored
* updated the testIDs
* Update Package.resolved
* refactor
* removed Mattermost as default server name
* fix ts
* refactored settings constant
* display settings skeleton
- pending: query for allowed themes
* added 'allowedThemes' query
* added section item
* mention screen skeleton in place
* added section and sectionItem component
* added reply section to the mention screen
* update i18n
* rename screens properly
* update i18n
* Refactored to MentionSettings component
* Refactored to ReplySettings component
* style clean up
* textTransform uppercase
* rename Section/SectionItem to Block/BlockItem
* adding text to those two components
* correction following review
* added chevron to menu item component
* starting with the skeleton
* starting with the skeleton
* starting with the skeleton
* starting with the skeleton
* remove extra line
* tested on tablets
* some corrections
* corrections as per review
* starting with notification skeleton
* attached notification settings to navigation
* added auto responder
* update translation
* update snapshot
* updated snapshot
* correction after review
* removed unnecessary screen
* refactored
* updated the testIDs
* Update Package.resolved
* refactor
* removed Mattermost as default server name
* fix ts
* refactored settings constant
* display settings skeleton
- pending: query for allowed themes
* added 'allowedThemes' query
* correction after review
* correction after review
* removed extra notification_settings line
* Update en.json
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
* added chevron to menu item component
* starting with the skeleton
* starting with the skeleton
* starting with the skeleton
* starting with the skeleton
* remove extra line
* tested on tablets
* some corrections
* corrections as per review
* starting with notification skeleton
* attached notification settings to navigation
* added auto responder
* update translation
* update snapshot
* updated snapshot
* correction after review
* removed unnecessary screen
* refactored
* updated the testIDs
* Update Package.resolved
* refactor
* removed Mattermost as default server name
* fix ts
* refactored settings constant
* correction after review
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
* added chevron to menu item component
* starting with the skeleton
* starting with the skeleton
* starting with the skeleton
* starting with the skeleton
* remove extra line
* tested on tablets
* some corrections
* corrections as per review
* updated snapshot
* correction after review
* removed unnecessary screen
* refactored
* updated the testIDs
* Update Package.resolved
* refactor
* removed Mattermost as default server name
* Disable attempt to open User Profile screen
* Fix loading state alignment when switching servers
* Fix user is typing style and show in thread view
* Add additional space at the bottom of post list when CRT is disabled
* header back button position
* add margin bottom to typing component
* Add AppsForm and Interactive Dialogs
* Add the missing plumbing for Interactive Dialogs and minor fixes
* Remove widgets subfolder
* Fix paths
* Address feedback
* Address feedback
* i18n extract
* Only set the dialog if we are in the same server
* Global threads
* Added translations
* User avatar stack
* In-Channel experience
* Misc Fixes
* Fixed fetchPostThread & added observer
* using the observable for participants & check fix
* Test case fix
* Fix tablet view thread screen switching
* No back button for tablets
* folders for thread options only if needed
* Using the existing observable
* Users stack refactor fix
* Reusing the user component
* Refactor fix
* Fixes double loaders when empty threads
* Feedback
* Moved some post options to common post options
* Combined follow/unfollow functions
* Feedback fixes
* Addressing Feedback
* Merge fix
* Threads button component moved
* Addressing feedbackk
* Not rendering message when it's empty, removed unwanted Props exports
* Addressing feedbac
* Updated snapshot
* Added emoji to removemarkdown component
* Moved MD rendering into the component
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Co-authored-by: koox00 <3829551+koox00@users.noreply.github.com>
* WS Events, Actions, Queries, Thread Follow, Post Query
* i18n changes
* Misc
* Only unread threads are marked as read
* Mark threads from WS even as visible in Global threads
* Merge fixes
* Update thread_post_list.tsx
* Merge fix
* Feedback fix
* Make teamId in handleThreads optional for unfollowed threads
* Removed unwated type and return
* Review changes
* Removing unused model
* Merge fix
* Misc fixes
* Following button query change
* copy directly from v1. will get working and then convert class to functional components
* screen showing up correctly. Need to convert lifestyle methods
* create channel button working
* save before refactor in prep for bringing in edit_channel functionality
* change function naming
* clean up lint
* clean up for PR review
* clean up for PR review
* remove hoardcoded styles
* add edit_channel screen
* add handlePatchChannel
* add custom useFormInput hook. use edit screen for both create and edit screens. edit or create screen mode determined by channel prop passed in as a channel or null
* rename edit_channel to create_or_edit_channel
* displayname, header, and purpose are now an object with value and onChange props, created from the useFormInput hook. Now only need to pass this new FormInput Prop to the edit_channel_info component and deconstruct there to get the onChange and value
* fix some lint errors
* fix some lint errors
* remove empty line
* pass intl into utils validate functions because they are not Hooks. add validation for displayName including translations.
* Move useFormInput hook to its own hooks file and import
* simplify
* remove editing prop. Was used to determine if the right button was enabled. It was always true for edit_channel screen and always false for create channel screen. The enableRightButton prop call back is was also used for the same reason.
* remove channeUrl editing references. This was not implemented on v1
* pass editing prop back into component and add back logic. When editing one field must change. when creating, just need to check that name is provided
* lint fixes
* fix typing issue for channel types
* scrolling ref should be fixed. Linting should pass now
* Linting should pass now
* require id field in partial Channel. fixes tsc
* remove everything related to renaming the channel URL. This has never been requred for mobile
* manage state with useReducer so that all actions/state in one location. This also removes the number of onXXX functions and reduces the number of functions in the component
* reorganize code. useEffects are at top. Move type and interfaces outside of function component
* Fix lint
* nit: invert if statement checking a negative
* use cneterChannelColor. in figma this is center channel text, but I verified theme color by comparing to SSO login text color
* Simple snapshot tests as a start
* Add more tests
* update snapshot
* add snapshot tests. Add tests for button enabling and disabling
* simplify test with destructuring.
* PR feedback. formatting changes. get user and teamid from one call
* remove FormInput hook and use value/setvalue convention for controlled components
* no need to setChannelDisplayName after creating/updating channel
* Just pass the setXXX function. Don't need to create as separate callback
* modify floatingTextInput component to allow placeholder text
* remove InteractionManager. PR nits
* mv EditChannelComponent into create_or_edit screen. Rename component from EditChannelInfo to ChannelInfoForm
* correct import path
* add IntlShape Type to function input. Wrap screen with withServerDatabase, not withIntl
* remove state setting function calls from inside the reducer. move close function outside of the component. remove setRightButton and rightButton and place rightbutton in initial appState
* move editing const after useX oneliners and before useCallback, useEffect, and useReducers
* rightButton
- useMemo to memoize an object with dependencies
- move out of the appState
emitCanSaveChannel
- wrap with useCallback
onCreateChannel
- wrap with useCallback
onUpdateChannel
- wrap with useCallback
useEffect Navigation
- use the callbacks as dependencies in stead of the depencies of those
callbacks.
* wrap all formatted message with useMemo()
wrap all onXXXChangeText with useCallback and add deps
move all oneliner derived constants directly after useState useMemo
* remove useMemo from formatted text
* switchToCHannel is still not working. failing at
const channel: ChannelModel = await member.channel.fetch();
* use prepareMyChannelsForTeam to update db tables for new channel
* add placeholder text color
* Attach open edit channel screen to `Set Header` button in channel intro view
port SectionItem from V1 and us to add a Switch for setting private/public channel
hook up the plus icon in the channel list header to create a channel (temporary fix to allow debugging)
add new queryChannelsInfoById and queryCurrentChannelInfo query functions
update text for create screen text inputs
* Fix styles and fix actions
* Add autocomplete, fix patch, and address design feedback
* Address feedback
* Add margin between icon and label on Make Private
* Address feedback
* Address feedback
* Address feedback and fix channel list not updating when the channel gets created
* Address feedback and directly add the channel to the default category
* Render at-mentions as Members if no channelId is set
* Display autocomplete on iOS
Co-authored-by: Jason Frerich <jason.frerich@mattermost.com>
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>
* 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
* 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
* Add Channel Browser screen
* Fix tests
* Fix lint
* Address feedback
* Fix test
* Remove cancel and fix bottom sheet size
* Address feedback
* Address feedback
* Keep loading when not many items are visible.
* Separate search_handler from browse channels
* Search channels directly instead of filtering from the loaded
* Address feeback
* Reduce the size of search_handler.tsx
* Add title and closeButtonId to bottomSheet
* Let the default value be public and set it before the if
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 a778e1f76191aea7c1a18d60a23ffbd6d3dec0eb.
* 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