Commit graph

464 commits

Author SHA1 Message Date
Jason Frerich
d88bf8e535
[Gekidou MM-46370] Fix slow response time which switching between files and messages tabs (#6579) 2022-08-25 08:27:55 -05:00
Elias Nahum
37e13b81b5
fix option box minHeight so that it fits on iPhone SE (#6588) 2022-08-24 08:55:26 -04:00
Daniel Espino García
f874279d87
Make it so a space after autocomplete channels and users closes the autocomplete (#6589) 2022-08-23 09:56:04 +02:00
Christopher Poile
d30b97ba99
MM-45747 - Cloud freemium limits & Max participants limits (#6578) 2022-08-20 08:57:14 -04:00
Joseph Baylon
25ae8fdb88
Detox/E2E: Account e2e tests in Gekidou (#6584)
* Detox/E2E: Account e2e tests in Gekidou

* Fix suite title

* Changed ldap port to number

* Fix testIDs for settings

* Added zephyr test case keys
2022-08-18 03:18:46 -07:00
Christopher Poile
7a63467610
do not send the call end slash command (no fallthrough) (#6580) 2022-08-17 10:01:09 -04:00
Daniel Espino García
afd818996e
Improve autocomplete behaviour (#6559)
* Fix positioning issues with Autocomplete

* Fix positioning for iOS and iPad

* Adapt search to new autocomplete approach

* Adapt for android

* Fix lint

* Fix calculations on channel edit

* Address feedback

* Address feedback

Co-authored-by: Daniel Espino <danielespino@MacBook-Pro-de-Daniel.local>
2022-08-13 08:34:26 -04:00
Christopher Poile
7da253e310
MM-45945 - Calls: finish i18n of calls components and messages (#6547)
* finish i18n for calls components

* fix formatted time style bug

* prefer FormattedText

* more FormattedText

* merge conflicts

* PR comments on copy
2022-08-11 16:10:28 -04:00
Jason Frerich
f376b3f6af
[Gekidou MM-46195] Fix team picker height (#6554) 2022-08-10 06:32:40 -05:00
Elias Nahum
dcc05956b6
Gekidou upgrade RN to 0.69.3 and dependencies (#6537)
* module dependencies

* update fastlane

* upgrade types dependencies

* update dev deps

* update react-native-notifications

* update react-native-keychain

* update sentry

* update detox

* Upgrade to RN 69.3

* increase MaxMetaspaceSize gradle opts

* feedback review
2022-08-08 09:06:20 -04:00
Daniel Espino García
f4e6917185
Ensure no unresolved types in the definition files (#6521)
* Ensure no unresolved types in the definition files

* Address feedback and general cleanup

* Move import from @constants/x to @constants where relevant

* Remove unneeded "import as"
2022-08-05 14:36:19 +02:00
Jason Frerich
aec0ccb105
[Gekidou MM-44940] Add autocomplete to navigation search (#6516)
* implement so that autocomplete will track the collapsable header

* add search screen

* move autocomplete to it's own view and add zindex to the view so it sits
atop the modifiers and results

* remove unused imports

* - remove console.log
- paddingTop is optional

* remove comments

* remove commented code

* - use a more reasonable zindex value. On more than in Nav Header
- use consts for autocomplete padding top

* remvoe search screen button

* - add dependencies

* - remove search button

* - not needed

* move autocomplete zindex to constant

* - move autocomplete directly below NavigationHeader
- adjust distance from search box

* - remove setXX from dependencies
- remove useMemo because only returning the component

* remove these changes. after placing autocomplete correcting in the
search component, this works as expected

* without this setting, ios has the issue where autocomplete is open,
transparent, and has height.  The user cannot click any modifiers.

* - need usememot for autocomplete
- add isSearch to remote runSearch function as option to hit the search
  for autocomplete API option
- Initial component needs handleTextChange callback to set the
  cursorPosition correctly

* use ternary operator
2022-08-05 16:15:12 +04:00
Christopher Poile
f61ea842af
MM-45746 - Handle call_end ws event and '/call end' slash command (#6542) 2022-08-05 07:39:10 -04:00
Anurag Shivarathri
690dd1e66e
[Gekidou MM-42242 MM-46043] Paginating Threads (#6535)
* Pagination and bug

* Feedback and version update

* Making the args optional

* Code refactor
2022-08-04 17:19:55 +05:30
Avinash Lingaloo
e443a69265
MM-45344 Gekidou Remove <MenuItem/> (#6522)
* added MENU_ITEM_HEIGHT to constant/view

* fix user presence and your profile

* added MENU_ITEM_HEIGHT to constant/view

* fix user presence and your profile

* UI Polish - Custom Status

* UI Polish - Settings

* UI Polish - logout

* refactored styles

* removed 'throws DataOperatorException' from './database/`

* fix for copy link option

* fix autoresponder

1.  user should be allowed to enter paragraph

2. the OOO was not immediately being updated on the notification main screen.  The fix is to cal fetchStatusInBatch after the updateMe operation

* About Screen - code clean up

* removed MenuItem component from common_post_options

* removed MenuItem from Settings

* refactored show_more and recent_item

* removed menu_item component

* Update setting_container.tsx

* PR review correction

* Update setting_container.tsx

* Update recent_item.tsx
2022-08-04 12:26:27 +04:00
Daniel Espino García
99d219d8b1
Remove copy link from DMs and GMs (#6534) 2022-08-03 09:40:40 +02:00
Daniel Espino García
78f7acde87
Fix other name showing on typing (#6532) 2022-08-02 19:01:45 +02:00
Jason Frerich
a18bc6cde1
[Gekidou MM-45552] Replace Recent Search Item From MenuItem To OptionItem (#6480) 2022-08-02 07:04:42 -05:00
Shaz MJ
986b9b9f7a
[Gekidou] Autocomplete Group Member Count (#6460)
* Adds member_count to groups table

* Handles member count

* Adds elipsis

* UX Feedback, 2:1 displayName:name

* Removes space
2022-08-01 08:06:03 +10:00
Christopher Poile
17dbfdcb99
MM-45745 - Calls channel info screen options (#6502)
* implement calls_channel_info; joinCall refactoring

* i18n

* Start/Join call as top button; movable copy channel link button

* MM-45971 - Calls v2 PR comments (#6514)

* don't clobber config if api req failed

* combine two loops into one

* update dependencies

* fetch user model on user connected

* fix state exports; spacing; unneeded field in ServerConfig type

* remove useless return in websocket handler

* constant sorting

* move microphone permission request to leave_and_join_alert

* ServerConfig -> ServerCallsConfig

* console.log -> logError

* ternary -> Platform.select

* merge conflicts

* add destructive options to OptionBox; require DismissChannelInfo fn

* add CopyLink option to quick actions list

* showSnackBar on link copied

* adjust quick_options_height

* Screens.Call

* fix CopyLink spacing

* fix observeUsersById, observe needed columns; fix JoinCallBanner mount

* optimized observables; bug fixes

* remove unneeded `return null`

* PR comments

* readable-stream -> 3.6.0

* merge conflicts

* PR comments
2022-07-29 11:10:32 -04:00
Daniel Espino García
bae5477b35
Graph QL POC (#6024)
* First approach

* Lint

* Fixes and adding monitoring console statements (to be removed later)

* Add pagination and apply graphQL also to login

* Get all entry points to use the same GQL call

* Unify gql handling

* Use graphQL on websocket reconnect

* Handle latest changes regarding categories

* Use graphQL to properly fetch channel members on other servers

* Remove logs and fetch unreads from other teams

* Minor fixes

* Final fixes

* Address feedback, minor refactoring, and fixes around the refactor

* Fix custom status duration types

* Add missing fields and some reordering

* Add timeout to fetch posts for unread channels
2022-07-29 16:28:32 +02:00
Christopher Poile
6c5043d598
MM-45744 - Calls mobile: Implement banner spacing (#6490)
* adjust more_messages banner with props
2022-07-29 10:26:31 -04:00
Elias Nahum
5c63392c2f
Remove unused INDICATOR_BAR_HEIGHT (#6519) 2022-07-29 08:14:46 -04:00
Jason Frerich
309c2c01bc
[Gekidou] Get theme from useTheme (#6485)
* get theme from useTheme. No need to pass in as a prop

* get theme from useTheme hook instead of passing in as props
2022-07-28 13:08:38 +02:00
Avinash Lingaloo
adde833ea9
MM-45221 - Gekidou Settings fixes - part 2 (#6491)
* modifying setting option

* navigates to email screen

* UI construction [in progress]

* hooking up withObservables

* email settings - need to save now

* adding a bit of paddings

* setting initial value

* Update notification_email.tsx

* UI Polish - main setting screen

* UI Polish - Mention

* UI Polish - Notification main screen

* code clean up

* code clean up

* UI Polish Notification

* UI Polish

* code clean up

* UI Polish - OOO

* fix observable for email interval

* fix ooo

* fix ooo

* added setting_row_label component

* further clean up

* UI Polish - Display - [ IN PROGRESS ]

* UI Polish - Display - [ IN PROGRESS ]

* UI Polish - Timezone Select [ IN PROGRESS ]

* Update index.test.tsx.snap

* Update app/screens/settings/notification_email/notification_email.tsx

Co-authored-by: Daniel Espino García <larkox@gmail.com>

* refactor after review

* update option_item so that action can accept type React.Dispatch<React.SetStateAction

* UI - Polish - Display Theme

UI Polish - Display/Theme [ IN PROGRESS ]

UI - Polish - Display Save button

* UI - Polish - Display Clock

UI - Polish - Display Clock

* UI Polish - Display - Timezone

UI Polish - Display Timezone

added the save button

UI Polish - Display/TZ

UI Polish - Display Timezone

minor refactoring

code clean up

code clean up

* UI Polish - Adv Settings

* UI Polish - Settings/About

UI Polish - Settings/About

* UI Polish - Radio Button

UI Polish - Radio Button

* UI Polish - Android Polishing [ IN PROGRESS ]

* UI Polish - Timezone

fix timezone

fix timezone select

fix timezone select ui

Update index.tsx

* UI Polish - Display/Theme

UI Polish - Custom Theme - Checked Radio btn

* Update en.json

* tweaks to settings styles

* further tweaks to spacing

* Revert "Merge branch 'gekidou-settings-finale' of https://github.com/mattermost/mattermost-mobile into gekidou-settings-finale"

This reverts commit f1fd26987ee5b1854366573b5822c9d0b919d83a, reversing
changes made to 684ba6a19c5962353ce61add2cc9cf10c8f9d3d4.

* added space before 'default'

* Update index.test.tsx.snap

* Revert "Revert "Merge branch 'gekidou-settings-finale' of https://github.com/mattermost/mattermost-mobile into gekidou-settings-finale""

This reverts commit ce77127cb20a3668510a82122325f1642ec7bb60.

Co-authored-by: Daniel Espino García <larkox@gmail.com>
Co-authored-by: Matthew Birtch <mattbirtch@gmail.com>
2022-07-27 22:35:57 +04:00
Elias Nahum
4e70961303
[Gekidou] gallery footer and video (#6512) 2022-07-27 09:25:01 -04:00
Daniel Espino García
b5dc0b02a7
Add observeWithColumns where needed (#6517) 2022-07-27 14:48:35 +02:00
Elias Nahum
2249af4cde
[Gekidou] RN patch (#6513) 2022-07-26 11:37:59 -04:00
Christopher Poile
5bb240dec8
MM-43300: Calls v2 first cut (#6475)
* Android and iOS requirements

* external types

* babel config for calls, package.json for calls dependencies

* state in rxJS; tests

* actions, client/rest, websocket events, constants

* webrtc connection logic

* calls components / screens

* handle peer destroyed gracefully

* PR comments

* remove ViewPropTypes from mocks; no need to ignore error in LogBox

* calls.d.ts -> calls.ts; i18-extract

* @app/products/calls -> @calls

* PR comments; test cleanup

* Revert "remove ViewPropTypes from mocks; no need to ignore error in LogBox"

This reverts commit f9bd171a544de9c02da8387455f904b3840fc5dc.

* working on typing withServerUrl

* added exportedForInternalUse instead of commenting "internal export"

* better switchToThread in call_screen

* i18n

* typed withServerUrl
2022-07-22 15:57:12 -04:00
Anurag Shivarathri
59aeb3767c
Fix (#6500) 2022-07-22 10:44:19 -04:00
Anurag Shivarathri
c4c89a8f05
[Gekidou MM-40096] Permalink view for replies when CRT is enabled (#6494)
* Permalink for CRT

* typo

* Condition refactor
2022-07-22 17:44:39 +05:30
Anurag Shivarathri
102789bbd9
[Gekidou MM-40089 MM-39318] CRT New Messages Line (#6489)
* New Messages Line + More Messages

* Misc

* Update app/actions/local/thread.ts

Co-authored-by: Avinash Lingaloo <avinashlng1080@gmail.com>

Co-authored-by: Avinash Lingaloo <avinashlng1080@gmail.com>
2022-07-22 17:28:14 +05:30
Joseph Baylon
c460c485a7
Detox/E2E: Channel Info and Quick Actions e2e tests in Gekidou (#6487)
* Detox/E2E: Channel Info and Quick Actions e2e tests in Gekidou

* Detox/E2E: Fix broken iOS e2e tests in Gekidou (#6488)
2022-07-21 14:18:56 -07:00
Daniel Espino García
3abaf8893d
Add minor fixes and performance improvements on channel switch (#6469)
* Add minor fixes and performance improvements

* Add comment
2022-07-15 16:04:58 +02:00
Jason Frerich
33d9e6257e
[Gekidou MM-44943] Add team picker to the search screen and results screens (#6455)
* initial check in

* add search value to memoized dependencies in modifier component

* ignore the back press

* UI adjustments from PR feedback

* initial commit

* recent search are getting rendered from WDB

* search terms from the search bar are getting added

* can delete recent searches from WDB from recent searches Options

* will now add new ters to the table and recreate existing terms with new
timestamp

* push for scrollview

* use flatlist instead of scrolview

* s/deleteRecentTeamSearchById/removeSearchFromTeamSearchHistory/

* s/addRecentTeamSearch/addSearchToTeamSearchHistory/

* Fix search to use a flatlist and remove douplicate reference

* fix eslint

* Fix android autoscroll search field to the top

* limit the number of saved searches to 20 for a team.
return the results a team Search History sorted by createdAt

* set display to term for now

* clean up

* clean up

* initial commit

* - From the search screen, you cna now set the team for the search
- Recent searches are saved for the specified team

* fix styling fo icon in modifiers

* - move team picker to its own component and call from modifiers
- will use for results header also

* - show team image if available
- pass optional size to TeamPickerIcon
- add TeamPickerIcon to Resuls Header
- styling fixes

* add team name to recent searches title

* parameter renaming

* fix lint

* fix callback bug that was calling itself

* when changing a team while showing search results:
  - update the search results with new selected team and current search
    term.
  - save the recent search the new selected team TeamSearchHistory for
    that team

* move to bottom for reduction of PR review lines and comparison to
changes in theh component logic

* - add dependencies
- rename function

* fix PR feedback

* - created helper function for bottom sheet with TeamList
  BottomSheetContent
- share the bottomScreen calls from AddTeam and TeamPickerIcon

* Add title back to renderContent of bottomSheet call.  This is needed for
tablets

* remove unnecessary check of selectTeamId.  it will be undefined and fail
the equality check

* - now all team_icons are all radius of 8. Includes the following icons:
  - team picker icon in in search screen
    - each team icon in the search screen bottom sheet team list
  - team picker icon in in search results screen
  - each team icon in the home screen team side bar list
    - each team icon in the join new team bottom sheet team list (from home screen)

* use padding in the width of the header so the margins are extended full
width, and dateline separator of post list does not creep into the
header region

* add smallText prop to team_icon.
- allows using 200 instead of default 400 value.
- 200 is used for the TeamPickerIcon used in the searcha nd results
  headers

* - add dependency back to handle renderItem and allow selecting files or
  messages view
- when handling the search, save the term to the correct team

* adjust styling so the rounded edges appear for the header. Use the
header container height to set the height of the header to 40 and then
set top and bottom margins for the rounded top edge and the bottom
margin to the divider

* use typography

* add title dependency

* update dependencies

* use bottomSheetSnapPoint to get the height of the total items

* rename variable

* Always use Metropolis-SemiBold for the team icon fallback

* use a fragment because there is not styling

* move title inside onPress function and can remove the title as a
dependency

* just use strings for testID

* calculate the observable inside the return object

* - remove const and use string
- correct the name of the testID

* - use more specific dependency value team.id
- add onPress dependency

* move to a constant

* move to a constant

* replace with logical AND

* add all logic for the style to textStyle

* remove the separate divider view and just use the outside container with
bottomBorder with and color

* extend the image vertically in the results

* Fix size of bottom sheet

* Refactor unneeded change

* Minor tweaks

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
Co-authored-by: Daniel Espino García <larkox@gmail.com>
2022-07-15 16:05:58 +04:00
Elias Nahum
4a842f0129
Gekidou bugs fixes (#6473)
* Timezone search results not updating on term edit MM-45621

* Fix update theme MM-45604 / MM-45591

* Prevent channel items from stacking when collapse/expand category MM-45590

* Remove current channel from unread section MM-45589

* Latex code block style MM-45572

* Update Post input style when theme update

* Show tutorial only for the first item in the first section MM-45549

* Fix close user profile modal on iPad

* Move style out of component

Co-authored-by: Daniel Espino García <larkox@gmail.com>
2022-07-15 12:40:59 +02:00
Jason Frerich
e5273fc43b
[Gekidou - MM-44939] Search Screen - Add File Options Bottom Sheet (#6420)
* add observables for search component
add loader screen
add file client searches for files

* hook up loader component for loading state

* search results with found posts now working

* get and store files when searching

* query file results from the database
display dummy file text for now

* add filter screen and icon to the results header

* needs some cleanup but functionally works
- applied filters reduce files to subset of selectd types
- no filters will show all files

* update number files in parenthesis to match the filtered number of files
(if filtered)

* added the missing file extensions found in webapp
added document_types which is a superset of other types

* remove clear all text from filter and from bottom_sheet component

* checkin before merge latest gekidou branch
- change filters to use latest figma design
  - from multiselect to single select
  - revert changes to bottom sheet content that allowed adding a RHS title button
  - start of the file attachement cards show in file results

* Cleanup and fixes

* Remove nested scroll views

* Address feedback

* Address feedback

* extract the fileInfos from the results object, from an array

* add translations for filters

* add translations

* use Object values to determine if has file info results

* Combine fetch recent mentions and search for posts

* add search icon back to home screen

* remove unused function import

* fix formatting and add 3 dot onPress option

* don't show search button

* Add touchable opacity for pressing the card
Add function for opening gallery
Fix `...` so only clicking directly over it calls it's function.  Everywhere else calls open gallery

* place compassIcon in a touchable and add hitslop
create individual objects for flex column and row

* use one-liner for text
move constant outside of the component

* truncate filename if over max filename lenght and append ...
fix style for filename

* remove all commented filetype code. This will not be added to the card
because of added length to second row. Feedback from UX discussion

* remove trimFileName function and MAX_FILENAME_LENGTH constant
make the textContainer grow in width.  The other flex boxes are constant width
align main container center and remove vertical margins

* create TabTypes contant and TabType Type to replace all uses of 'messages' and
'files'

* make padding adjustments based on the selected tab and if there are
results.
When no results are shown, we want the 'Check the spelling or try
another search' text to not move or flicker when switching between files
and messages

* put the margin on the touchable container, not the compassicon so the
hitslop is relative to the compassicon.

* Add the channel name to the filecard.
each fileInfo from the server contain a channel_id. Add to the reponse type

* Move the channel name to a separate line

* implement changes from PR. Shrink channel name when it doesn't fit

* use a useMemo instead of useCallback

* initial implementation

* keep the bottomsheet open until successful download

* remove comment

* initial commit

* don't use raw object values

* channel_id will be defined

* remove shadows
update channel name text

* move file_options to it's own folder
add checks for enabled downloading and public links

* - when touching each menu item, extend the area horizontally so the edge
  of the icon has space between it and the touchable area.
- don't dismiss the modal.  allow the user to dismiss or choose another
  option.
- adjust the horizontal spacing of the toast

origin/MM-44939-file-options

* adjust margin so holding down on a menuItem spans the width of the
bottom sheet

* working copy using the File component instead of creating a new FileCard
component

* add styhling for long channel name

* update styling for info text

* update styling

* disable lint check for console statement until function is hooked up

* fixt linting errors caused by api including channel_id. It needs to be
optional or the model will complain

* when a file is an image, show the image or video as an image instead of
the generic file icon

* make `asCard` File Prop optional

* shift the image icon over 4px

* tweaked styles

* tweaked styles for file info

* move files directory from inside the post_list/post/body/ folder to its
own component because is it referenced from other screens and components
including:

app/components/post_draft/uploads/upload_item/index.tsx
app/components/post_list/post/body/content/image_preview/image_preview.tsx
app/components/post_list/post/body/content/message_attachments/attachment_image/index.tsx
app/components/post_list/post/body/index.tsx
app/screens/gallery/document_renderer/document_renderer.tsx
app/screens/home/search/results/results.tsx

* create useImageAttachments hook and share with files component and
results

* rename all renderXXXFile useMemo options to xxxFile. These return the
actual component

* use explicit Boolean(onOptionsPress)

* isSingleInput does not need to be a function

* use find instead of filter().map()

* add dependencies and refactor to reduce some file dependency arrays

* order files by reverse create_at date

* remove console.log and leave as a comment for now

* update styling so that the view wrapper has the borderRadius.  Now
android and ios get the correct borderRadius surrounding the channel
name

* initial implementation

* keep the bottomsheet open until successful download

* remove comment

* move file_options to it's own folder
add checks for enabled downloading and public links

* remove shadows
update channel name text

* - when touching each menu item, extend the area horizontally so the edge
  of the icon has space between it and the touchable area.
- don't dismiss the modal.  allow the user to dismiss or choose another
  option.
- adjust the horizontal spacing of the toast

origin/MM-44939-file-options

* adjust margin so holding down on a menuItem spans the width of the
bottom sheet

* delete file

* - use OptionItem instead of MenuItem
- show the actual image for images and video

* update results to use sorted filesForGallery file_options click gets the
correct file

* use the results of the ordered useImageAttachements results as data for
File and Gallery

* remove unnecessary View

* - create snappoints based on number of OptionItems and the header height
- adjust the toast according to the number of items shown
- show and hide items when canDownload and publicLinksEnabled
- bottom sheet will not resize because it is a function, but will show
  and hide items when enabled/disabled

* results does not need to know about the toast margin in FileOption

* extend optionItem to extende to edges of the bottom screen

* When canDownloadFiles or publicLinksEnabled, reopen the bottom sheet
with the correct options available

* initialize lastViewedIndex to undefined with FileOptions first opens

* remove extra empty line

* open the permalink view when select Open in Channel

* PR feedback
- rename capitalize const
- add several useCallbacks
- use typescript optional parareter instead of if statement

* - remove useMemos that only return a component
- fix bug - when channel name is not present, don't show the channel
  component. This happened when looking at posts in a channel because
  post comes from the model, which does not include the channelName.
  This is because in the channel view all images are in a specific
  channel and no need to store it

* remove useMemo import

* remove callback

* - remote unused operator
- nothing needed outside of try catch

* remove unused Client import

* s/xxxFile/renderXxxFile/ because theare are a function that returns a
component

* move constant above component

* default to 0 instead of forcing to be defined

* - remove useMemo for renderIcon.  It only returns a component
- remove async from useCallback for handle functions

* - do not modify the file value directly
- handle the case where the only open the bottom sheet if it was open at
  the time of the dependencies changing

* use optional operator

* convert to switch statement

* let the parmalink handle what to do when called.

* just use the post id from fileInfo

* use observerConfigBoolean

* import as type because not useing to construct as models

* add links to Jira ticket and github PR

* add line breaks and sort alphabetically

* use ternary operator to reduce number of lines

* move up as far as possible

* remove unused style

* sort props and input vars alphabetically

* move higher in the component

* return ealier

* no need for useDerivedValue. useMemo instead

* use useCallback

* remove unused constant

* replace any with type

* use more specific dependency

* remove memoization.  fileInfo will not change because it is passed from
a server call and will not update unless a new search is created (with
this modal closed)

* no need to memoize. SetValue is already memoized because of useState

* use observeConfigBooleanValue to get config values

* add comment explaining the purpose of the useEffect

* Merge fixes and minor tweaks

Co-authored-by: Daniel Espino García <larkox@gmail.com>
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
Co-authored-by: Matthew Birtch <mattbirtch@gmail.com>
2022-07-15 11:44:46 +02:00
Avinash Lingaloo
431406f09b
MM-45221 - Gekidou Settings fixes - part 1 (#6472)
* modifying setting option

* navigates to email screen

* UI construction [in progress]

* hooking up withObservables

* email settings - need to save now

* adding a bit of paddings

* setting initial value

* Update notification_email.tsx

* UI Polish - main setting screen

* UI Polish - Mention

* UI Polish - Notification main screen

* code clean up

* code clean up

* UI Polish Notification

* UI Polish

* code clean up

* UI Polish - OOO

* fix observable for email interval

* fix ooo

* fix ooo

* added setting_row_label component

* further clean up

* UI Polish - Display - [ IN PROGRESS ]

* UI Polish - Display - [ IN PROGRESS ]

* UI Polish - Timezone Select [ IN PROGRESS ]

* Update index.test.tsx.snap

* Update app/screens/settings/notification_email/notification_email.tsx

Co-authored-by: Daniel Espino García <larkox@gmail.com>

* refactor after review

* update option_item so that action can accept type React.Dispatch<React.SetStateAction

Co-authored-by: Daniel Espino García <larkox@gmail.com>
2022-07-15 13:32:25 +04:00
Elias Nahum
0f0c7d5795
Open User avatar in gallery (#6474) 2022-07-15 10:02:09 +02:00
Jason Frerich
17f6aee8a5
[Gekidou MM-44927] Add Recent Searches Component (#6454)
* initial check in

* add search value to memoized dependencies in modifier component

* ignore the back press

* UI adjustments from PR feedback

* initial commit

* recent search are getting rendered from WDB

* search terms from the search bar are getting added

* can delete recent searches from WDB from recent searches Options

* will now add new ters to the table and recreate existing terms with new
timestamp

* push for scrollview

* use flatlist instead of scrolview

* s/deleteRecentTeamSearchById/removeSearchFromTeamSearchHistory/

* s/addRecentTeamSearch/addSearchToTeamSearchHistory/

* Fix search to use a flatlist and remove douplicate reference

* fix eslint

* Fix android autoscroll search field to the top

* limit the number of saved searches to 20 for a team.
return the results a team Search History sorted by createdAt

* set display to term for now

* clean up

* clean up

* extract as constant

* move styles to the top

* always update the created_at value in the database.

* remove unused function

* - remove useMemo of recent
- set or remove props on AnimatedFlatlist

* styling adjustments

* styling changes

* divider takes up 1ox so only need 15px margin to get the 16px total to
the neighboring veritcal views

* update compassIcon to match figma design

* update divider opacity to match figma design

* update styling from UX PR requests

* increase close button to touchable area of 40x40 and adjust menuitem
container

* use logError instead of console.log and trowing an error

* remove surrounding parenthesis

* There is only one record, so no need to batch.  Just call
destroyPermanently.

* call destroyPermanently directly

* when not useing the onScroll callback you don't need to set the
scrollEventThrottle

* set the max searches saved to 15

* no need to memoize

* shoud be a function call

* batch the add/update with the delete of the oldest model

* Minor improvements

* Fix bug when hitting back on search screen

* Fix long channel names in search results

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
Co-authored-by: Daniel Espino García <larkox@gmail.com>
2022-07-14 14:56:08 +02:00
Jason Frerich
97b5e75e5f
[Gekidou - MM-44930] Use File component for showing files in search. (#6425)
* add observables for search component
add loader screen
add file client searches for files

* hook up loader component for loading state

* search results with found posts now working

* get and store files when searching

* query file results from the database
display dummy file text for now

* add filter screen and icon to the results header

* needs some cleanup but functionally works
- applied filters reduce files to subset of selectd types
- no filters will show all files

* update number files in parenthesis to match the filtered number of files
(if filtered)

* added the missing file extensions found in webapp
added document_types which is a superset of other types

* remove clear all text from filter and from bottom_sheet component

* checkin before merge latest gekidou branch
- change filters to use latest figma design
  - from multiselect to single select
  - revert changes to bottom sheet content that allowed adding a RHS title button
  - start of the file attachement cards show in file results

* Cleanup and fixes

* Remove nested scroll views

* Address feedback

* Address feedback

* extract the fileInfos from the results object, from an array

* add translations for filters

* add translations

* use Object values to determine if has file info results

* Combine fetch recent mentions and search for posts

* add search icon back to home screen

* remove unused function import

* fix formatting and add 3 dot onPress option

* don't show search button

* Add touchable opacity for pressing the card
Add function for opening gallery
Fix `...` so only clicking directly over it calls it's function.  Everywhere else calls open gallery

* place compassIcon in a touchable and add hitslop
create individual objects for flex column and row

* use one-liner for text
move constant outside of the component

* truncate filename if over max filename lenght and append ...
fix style for filename

* remove all commented filetype code. This will not be added to the card
because of added length to second row. Feedback from UX discussion

* remove trimFileName function and MAX_FILENAME_LENGTH constant
make the textContainer grow in width.  The other flex boxes are constant width
align main container center and remove vertical margins

* create TabTypes contant and TabType Type to replace all uses of 'messages' and
'files'

* make padding adjustments based on the selected tab and if there are
results.
When no results are shown, we want the 'Check the spelling or try
another search' text to not move or flicker when switching between files
and messages

* put the margin on the touchable container, not the compassicon so the
hitslop is relative to the compassicon.

* Add the channel name to the filecard.
each fileInfo from the server contain a channel_id. Add to the reponse type

* Move the channel name to a separate line

* implement changes from PR. Shrink channel name when it doesn't fit

* use a useMemo instead of useCallback

* initial commit

* working copy using the File component instead of creating a new FileCard
component

* add styhling for long channel name

* update styling for info text

* update styling

* disable lint check for console statement until function is hooked up

* fixt linting errors caused by api including channel_id. It needs to be
optional or the model will complain

* when a file is an image, show the image or video as an image instead of
the generic file icon

* make `asCard` File Prop optional

* shift the image icon over 4px

* tweaked styles

* tweaked styles for file info

* move files directory from inside the post_list/post/body/ folder to its
own component because is it referenced from other screens and components
including:

app/components/post_draft/uploads/upload_item/index.tsx
app/components/post_list/post/body/content/image_preview/image_preview.tsx
app/components/post_list/post/body/content/message_attachments/attachment_image/index.tsx
app/components/post_list/post/body/index.tsx
app/screens/gallery/document_renderer/document_renderer.tsx
app/screens/home/search/results/results.tsx

* create useImageAttachments hook and share with files component and
results

* rename all renderXXXFile useMemo options to xxxFile. These return the
actual component

* use explicit Boolean(onOptionsPress)

* isSingleInput does not need to be a function

* use find instead of filter().map()

* add dependencies and refactor to reduce some file dependency arrays

* order files by reverse create_at date

* remove console.log and leave as a comment for now

* update styling so that the view wrapper has the borderRadius.  Now
android and ios get the correct borderRadius surrounding the channel
name

* use the results of the ordered useImageAttachements results as data for
File and Gallery

* remove extra empty line

* PR feedback
- rename capitalize const
- add several useCallbacks
- use typescript optional parareter instead of if statement

* - remove useMemos that only return a component
- fix bug - when channel name is not present, don't show the channel
  component. This happened when looking at posts in a channel because
  post comes from the model, which does not include the channelName.
  This is because in the channel view all images are in a specific
  channel and no need to store it

* remove useMemo import

* remove callback

* - remote unused operator
- nothing needed outside of try catch

* remove unused Client import

* s/xxxFile/renderXxxFile/ because theare are a function that returns a
component

* move constant above component

* default to 0 instead of forcing to be defined

* use observerConfigBoolean

* import as type because not useing to construct as models

* add links to Jira ticket and github PR

* add line breaks and sort alphabetically

* use ternary operator to reduce number of lines

* move up as far as possible

* remove unused style

* sort props and input vars alphabetically

* move higher in the component

* return ealier

* no need for useDerivedValue. useMemo instead

* use useCallback

* Minor tweaks and fixes

* Remove floats from style

Co-authored-by: Daniel Espino García <larkox@gmail.com>
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
Co-authored-by: Matthew Birtch <mattbirtch@gmail.com>
2022-07-14 12:50:05 +02:00
Jason Frerich
d015656944
[Gekidou MM-45521] Remove show results button (#6465)
* - calculate the bottom sheet height dynamically
- remove show results button
- set the new fitler when select a new item

* when the user selects the same filter, just dismiss the bottom sheet,
don't fetch the values again

* Update app/screens/home/search/results/header.tsx

Co-authored-by: Daniel Espino García <larkox@gmail.com>

* Use OptionItem instead of MenuItem

Co-authored-by: Daniel Espino García <larkox@gmail.com>
2022-07-12 20:05:35 +02:00
Malik
8aa0a2490d
Merge pull request #6462 from mattermost/detox-mentions-saved 2022-07-11 05:55:41 -04:00
Avinash Lingaloo
39cfb297a3
MM-39711 - Gekidou Advanced Settings (#6412)
* fix display clock

* implemented help functionality

* skelton for adv settings

* added rightComponent to menuItem

* added advanced settings

* adv settings delete

* Update en.json

* clean up

* Update index.tsx

* fix for camera-roll on android > 30

* undo delete camera-roll images

* Update app/screens/settings/index.tsx

Co-authored-by: Daniel Espino García <larkox@gmail.com>

* refactoring

* removed menu item

* refactored imports and getAllFilesInCachesDirectory transferred into util/files

* corrections after review

* ts fix

Co-authored-by: Daniel Espino García <larkox@gmail.com>
2022-07-08 14:39:41 +04:00
Joseph Baylon
b099797a28 Detox/E2E: Recent Mentions and Saved Messages e2e tests in Gekidou 2022-07-07 16:56:32 -07:00
Shaz MJ
dcfc6e7927
[Gekidou] Groups + group-memberships deferred fetch (#6370)
* WIP

* Actions updated to fetch remote first, and local on error

* Groups fetch and save

* PR Feedback: prepare vs store and undefined fix

* Forgot to add file

* Groups Mention WIP

* Groups highlight!

* Merge, PR Feedback

* PR Feedback

* PR Feedback: Try/Catch blocks

* PR Feedback

* Rebased with PR feedback

* Exclusion fix, plus id order

* Tidies up iterations

* Loops updated

* Update app/database/operator/server_data_operator/handlers/group.ts

Co-authored-by: Avinash Lingaloo <avinashlng1080@gmail.com>

* PR Feedback: Remove unnecessary prepare/store methods

* Newline ESLint error

* Extracts out id generation for group-associations

* Batches if not fetchOnly

Co-authored-by: Avinash Lingaloo <avinashlng1080@gmail.com>
2022-07-07 12:20:06 +02:00
Daniel Espino García
e481c07630
Fix at mention that triggers ephemeral message (#6458)
* Fix at mention that triggers ephemeral message

* Properly handle failed posts
2022-07-07 12:12:31 +02:00
Joseph Baylon
6a3c600c8a
Detox/E2E: Messaging (at-mentions, channel mentions, autocomplete etc) e2e tests in Gekidou (#6428)
* Detox/E2E: Messaging (at-mentions, channel mentions, autocomplete etc) e2e tests in Gekidou

* Enable other failing tests so they're visible

* Detox/E2E: Messaging markdown e2e tests in Gekidou (#6450)

* Detox/E2E: Messaging markdown e2e tests in Gekidou

* Added zephyr test ids

* Added markdown smoke test

* Enable disabled tests

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2022-07-05 10:01:46 -07:00
Elias Nahum
f1665fa0ee
Fix touch not responding on some posts (#6447) 2022-06-30 11:14:40 -04:00
Elias Nahum
136b796ac3
Fix theming and navigation stack tracking (#6443) 2022-06-30 11:14:07 -04:00
Daniel Espino García
82c514013c
Fix links to channels closing the channel (#6446) 2022-06-30 11:13:28 -04:00
Elias Nahum
330dc0b9ad
Do not show expired custom status in userItem (#6439) 2022-06-30 11:13:14 -04:00
Jason Frerich
6c18cc8b38
[Gekidou - MM-44928] Search Screen - Search Modifiers (#6393) 2022-06-30 09:52:26 -05:00
Anurag Shivarathri
eaa150cb4b
include latex (#6434) 2022-06-29 22:02:30 +05:30
Shaz MJ
f8140f2117
[Gekidou] Groups mentions / highlights in messages (posts) (#6338)
* WIP

* Actions updated to fetch remote first, and local on error

* Groups fetch and save

* PR Feedback: prepare vs store and undefined fix

* Forgot to add file

* Groups Mention WIP

* Groups highlight!

* Merge, PR Feedback

* PR Feedback

* PR Feedback: Try/Catch blocks

* PR Feedback
2022-06-29 07:47:37 +10:00
Daniel Espino García
d2e2cf3ec1
Substitute all console.x by an appropiate log util function (#6427)
* Substitute all console.x by an appropiate log util function

* Address feedback
2022-06-24 10:26:40 -04:00
Avinash Lingaloo
fe3f0cc892
MM-39711 - Gekidou Settings Timezone (#6384) 2022-06-24 06:52:05 -04:00
Daniel Espino García
adfb90eb59
Make FloatingTextInputLabels no longer than one line (#6411) 2022-06-24 06:14:29 -04:00
Daniel Espino García
13708ab052
Minor performance improvements in post list (#6422) 2022-06-23 11:39:10 +02:00
Daniel Espino García
844f2c0393
Let ServerDatabases type hold undefined values (#6423)
* Let ServerDatabases type hold undefined values

* Avoid model.database
2022-06-22 17:51:28 -04:00
Shaz MJ
12e97e49a8
[Gekidou] [Bug] DM Icon will be 'archive-outline' if user is archived (#6415) 2022-06-21 18:46:46 -04:00
Daniel Espino García
b97fd550f1
Fix lingering draft when switching channels while never leaving the channel screen (#6417)
* Fix lingering draft when switching channels while never leaving the channel screen

* Listen to changes on missing prop
2022-06-21 12:22:41 -04:00
Daniel Espino García
0ea2873942
Remove apparently unneeded fix to improve the experience by not changing the keyboards (#6409) 2022-06-20 08:37:50 -04:00
Joseph Baylon
7a71d864e2
Detox/E2E: Messaging post options e2e tests in Gekidou (#6405)
* Detox/E2E: Messaging post options e2e tests in Gekidou

* Simplify find channels search bar
2022-06-17 21:01:05 -04:00
Elias Nahum
47fe3e2219
Do not show tutorial if screen is closed (#6401) 2022-06-17 14:51:50 -04:00
Daniel Espino García
ee3b655991
Fix permalink to not joined channels and to not fetched posts. (#6294)
* Fix permalink to not joined channels and to not fetched posts.

* i18n-extract

* Implement as designed

* Revert unintended change

* Minor fix and fix svgs

* updated svg to fix masking problems and colors

* Fix lint

* Address feedback

* Update join_public_channel.tsx

fixed public channel svg

* Update join_public_channel.tsx

* Update join_private_channel.tsx

* Address feedback

Co-authored-by: Matthew Birtch <mattbirtch@gmail.com>
2022-06-17 19:23:12 +02:00
Elias Nahum
1ca401ef3c
Do not cover empty search results on Emoji picker (#6402) 2022-06-17 13:04:07 +04:00
Elias Nahum
0278df6173
Fix and add missing locales (#6396) 2022-06-16 21:50:59 -04:00
Elias Nahum
7fa011a89a
Set the color for the Switch component based on the theme (#6397) 2022-06-16 20:48:02 -04:00
Joseph Baylon
6ff41ea199
Detox/E2E: Upgrade deps to fix detox crash; Fix/Stabilize e2e (#6387) 2022-06-15 11:49:53 -07:00
Jason Frerich
196f922b6a
[Gekidou - MM-44645] Search Screen - show results from server (#6314)
Co-authored-by: Daniel Espino García <larkox@gmail.com>
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2022-06-15 08:29:32 -05:00
Elias Nahum
bfffa0e10a
[Gekidou] db manager database getters (#6377) 2022-06-13 18:32:47 -04:00
Elias Nahum
9ebc0ab404
Ensure emoji name is set for CustomStatusEmoji 2022-06-13 15:03:35 -04:00
Elias Nahum
af25983483
await until bottom sheet is dismissed 2022-06-13 10:08:41 -04:00
Avinash Lingaloo
c5dc41dae3
MM-39711 - Gekidou Settings - Mentions functionality [3] (#6368) 2022-06-13 09:47:59 -04:00
Elias Nahum
8795ca85b5
[Gekidou] cleanup fixes (#6376)
* Separate NavigationStore from EphemeralStore

* Prevent WS to mark channel as read while switching to the channel

* Fix mark channel as unread
2022-06-13 08:07:24 -04:00
Avinash Lingaloo
f72fcd4f08
useMemo function call (#6372) 2022-06-10 09:40:14 -04:00
Avinash Lingaloo
bb02b1178a
MM-39711 - Gekidou - Theme functionality (#6327)
* 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

* added skeleton for auto responder

* code clean up

* display theme skeleton

* display theme skeleton

* now using selected theme

* clean up code

* showing custom theme

* setTheme implemented

* code clean up

* some corrections

* Gekidou - Replace BlockItem with OptionItem (#6352)

* Replaced BlockItem component with OptionItem

* ui fix

* corrections from PR review

* code clean up

* correction from PR review

* fix - SettingsDisplay was wrongly removed from @screen/index

* fix dependencies

* corrections from peer review
2022-06-10 14:28:35 +04:00
Elias Nahum
6906a9f863
[Gekidou] Add saved messages to bottom tab (#6367) 2022-06-09 15:19:24 -04:00
Elias Nahum
c6764a89a4
do not fetch unicode emojis 2022-06-07 15:26:24 -04:00
Elias Nahum
3082089821
Render Tables in their own screen (#6356) 2022-06-07 09:50:55 -04:00
Shaz MJ
fe354ee396
[Gekidou] Fetch (and save) groups on @mention auto-complete (#6323)
* WIP
* Actions updated to fetch remote first, and local on error
* Groups fetch and save
* PR Feedback: prepare vs store and undefined fix
* Forgot to add file
2022-06-07 07:55:28 +10:00
Elias Nahum
2f07b7afc8
[Gekidou] user profile (#6353)
* 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
2022-06-06 11:27:25 -04:00
Elias Nahum
a61d65eb09
[Gekidou] pinned posts (#6336)
* 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
2022-06-03 09:27:45 -04:00
Elias Nahum
df1da4da19
Use sidebarUnreadText for unread channel item (#6342) 2022-06-03 08:17:20 -04:00
Avinash Lingaloo
2d3d43c000
MM-39711 - Gekidou Notification Push Notification main screen (#6312)
* 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
2022-06-03 16:02:40 +04:00
Elias Nahum
0b4980cf65
[Gekidou] multiple fixes (#6335)
* Fix navigation stack tracking

* Fix hardwareBackPress handlers

* Use user locale for formattedTime

* Show in-app notifications when in a thread but hide when in the same thread

* Fix post draft archived & read only safe area

* Do not show reply post option in thread screen

* Open permalink as full screen modal

* Fix crash when using chinese locale

* Fix team list and call handle team change
2022-06-03 07:18:29 -04:00
Elias Nahum
a0f25f0e3b
[Gekidou] Channel Info screen (#6330)
* Channel Info screen

* Delete the channel & related data when archiving while viewing archived channels is off

* feedback review

* UX feedback

* Add missing isOptionItem prop
2022-06-02 16:09:12 -04:00
Elias Nahum
62d2e20441
[Gekidou] Navigation bar refactored (#6319)
* Navigation bar refactored

* feedback review

* add MAX_OVERSCROLL constant
2022-06-01 17:07:54 -04:00
Elias Nahum
f203b74b2f
[Gekidou] Update Markdown theme (#6328)
* Fix Markdown when theme changes / latex correct font color

* Do not fetch emojis that are unicode

* Check for unicode emoji before searching for custom emoji
2022-06-01 17:05:25 -04:00
Daniel Espino García
8f10d1ee96
Remove ts-expect-error regarding legacy refs (#6317) 2022-05-31 07:42:34 +02:00
Elias Nahum
4ab7a6baa6
[Gekidou] commonmark feature parity (#6303)
* Initial attempt at search highlighting for Markdown

* Remove fonts from highlighted text so that it can be bolded

* Add initial task list support

* Render markdown checkbox

* Switch to Commonmark fork

* Use searchPatterns prop

* searchPatterns prop at post level

* Update app/components/markdown/transform.ts

Co-authored-by: Jason Frerich <jason.frerich@mattermost.com>

Co-authored-by: Harrison Healey <harrisonmhealey@gmail.com>
Co-authored-by: Jason Frerich <jason.frerich@mattermost.com>
2022-05-27 14:30:34 -04:00
Shaz MJ
4825a54de0
[Gekidou] Groups API Calls (#6277)
* Adds missing group API calls

* Rename methods to fetch and move to remote actions
2022-05-26 14:10:04 -04:00
Jason Frerich
340522a90c
[Gekidou - MM-44258] Search Screen - Results Empty State (#6279)
Co-authored-by: Daniel Espino García <larkox@gmail.com>
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
Co-authored-by: Daniel Espino <danielespino@MacBook-Pro-de-Daniel.local>
2022-05-26 11:50:43 -05:00
Avinash Lingaloo
b5038ba55e
MM-39711 - Gekidou Notification Mention main screen (#6309)
* 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
2022-05-26 17:25:03 +04:00
Daniel Espino García
37457e3f31
Comment out create team options until we have a create team screen (#6310) 2022-05-26 14:39:02 +02:00
Shaz MJ
10c714e02f
[Gekidou] Groups are included in the @metion auto-complete (#6261)
* Group autocomplete -
* Styling fixes
* Loading indicator
* Displays group name and display name
* PR Feedback
* Cleans up styling
* Adds constraints to group searches
* Channel Team before current team
* PR Feedback; displayName > name, model observable
* PR Feedback; rename fetch + model observable
* PR Feedback: return {error}, spelling fix
* PR Feedback: Add forceLogoutIfNecessary to fetch calls
* Remove doubled up logout
2022-05-25 07:25:59 +10:00
Elias Nahum
a4e4e18445
[Gekidou] perf improvement & fix upgrade path (#6302)
* Improve loading display name of direct channels

* Improve team switching

* Improve perceived performance when opening the app with an active session

* Fix upgrade path from v1

* Set moment locale while formatting date

* feedback review
2022-05-24 08:45:17 -04:00
Avinash Lingaloo
11b58c4de3
Gekidou - Section Component (#6308)
* added section and sectionItem component

* some code fix
2022-05-24 15:34:36 +05:30
Joseph Baylon
558d83719c
Detox/E2E: Global threads e2e tests in Gekidou (#6300)
* Detox/E2E: Global threads e2e tests in Gekidou

* Revert update deps
2022-05-20 15:51:15 -07:00
Elias Nahum
e883186fde
[Gekidou] retry post (#6293)
* 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
2022-05-20 13:23:19 -04:00
Elias Nahum
502efbcdc0
Prevent crash when tapping on a MD table 2022-05-20 12:57:53 -04:00
Elias Nahum
4573732fd2
[Gekidou] channel quick actions (#6288)
* Add hitSlop to navigation header right buttons

* Fix channel_item info muted style

* Fix team switch when global threads

* Wrap WS channel events in try/catch

* Group Box component and Animated Group Box

* SlideUpPanelItem style

* Fix return value of setCurrentTeamAndChannelId

* Add observeChannelSettings and include channel settings in prepareDeleteChannel

* update OPTIONS_HEIGHT reference in find channels quick options

* Fix DM limit in channel list

* Fix category header style and translate default categories

* Add snackbar for unmute/favorite/unfavorite

* Add toggleFavoriteChannel remote action

* Add makeDirectChannelVisible remote action

* Use makeDirectChannelVisible in switchToChannelById and update toggleMuteChannel snackbar

* Add channel actions common components

* Update channel intro to use channel action common components

* Rename ChannelDetails screen to ChannelInfo

* Add channel quick actions

* Update localization strings

* Fix addChannelToDefaultCategory

* Leave channel

* Add localization strings

* Fix snackBar screen event listener

* Feedback review
2022-05-19 14:30:55 -04:00
Matthew Birtch
06d2f1facd
[Gekidou - MM-44258] Modifies post padding to 16 (#6292)
* modifies post padding to 16 instead of 20

* add spacing changes for date separator, new message line, youtube, files, thread overview, channel info, post with channel info

* update snapshots

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2022-05-19 13:24:33 -04:00
Daniel Espino García
7e27113f61
Use local channels on channel autocomplete (#6272)
* Use local channels on channel autocomplete

* Only load local channels on demand
2022-05-19 09:12:05 +02:00
Daniel Espino García
a4674915c1
Better handle go to location (#6262)
* Better handle go to location

* Improve server check
2022-05-19 09:06:31 +02:00
Avinash Lingaloo
b94790960f
MM-39711 Gekidou Settings Main Screen (#6281)
* 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
2022-05-18 11:37:11 +04:00
Elias Nahum
65366e53a9
Gekidou fixes (#6274)
* Add error boundry around latex to avoid crash

* Do not update channel display name when displayName is empty

* Show Muted unread channel as muted unless it has mentions

* Video size to wrapperWidth if thumbnail is not available

* Hide Threads button in channel list when only unreads filter if it does not have any unreads or mentions

* Ensure channel_item muted state is bolded when unread

* Bump network default retry to 3 attempts

* Sort only unreads by last root post if CRT is enabled

* Default canPost to true if permission is not found

* rename to ErrorBoundary (typo fix)

* simplify filterAndSortMyChannels

* Fix channel name collision with mention badges
2022-05-17 11:07:46 -04:00
Daniel Espino García
2323f4aa31
Use local users for At Mention Autocomplete (#6269)
* Use local users for At Mention Autocomplete

* Only load local users if we need them
2022-05-17 11:05:56 -04:00
Elias Nahum
6d9db281a4
Gekidou cleanup (#6263)
* Cleanup registered screens

* Do not use ALL CAPS in translations, prefer style upercase

* Improve isScreenRegistered check

* Update app/screens/thread_options/thread_options.tsx

Co-authored-by: Avinash Lingaloo <avinashlng1080@gmail.com>

Co-authored-by: Avinash Lingaloo <avinashlng1080@gmail.com>
2022-05-13 09:29:35 -04:00
Elias Nahum
d8c8893c49
Various fixes (#6268) 2022-05-13 13:50:19 +10:00
Shaz MJ
8ca26bde7d
Fixes channel muting inside category (#6267) 2022-05-12 22:53:24 -04:00
Elias Nahum
08d80e6236
Replace lottie loading spinner for activity indicator (#6266) 2022-05-12 12:54:43 -04:00
Daniel Espino García
a8a13272ea
Fix autocomplete position on tablets (#6264) 2022-05-12 12:17:24 -04:00
Daniel Espino García
75d1c9d228
Try to remove as many as as possible (#6200)
* Try to remove as many ` as ` as possible

* Fix imports
2022-05-12 15:46:11 +02:00
Elias Nahum
f62dcd42f7
Open Find Channels with keyboard shortcut (#6260) 2022-05-11 12:33:21 -04:00
Elias Nahum
e315fa6b4d
[Gekidou] YouTube image size, style and play icon (#6259) 2022-05-11 10:00:30 -04:00
Elias Nahum
4144c9d03e
[Gekidou] Team icon style (#6258)
* Team icon style

* ux review
2022-05-11 08:42:12 -04:00
Daniel Espino García
67461322a2
Improvements on team switch performance (#6255)
* Improvements on channel switch performance

* Revert removal from channel observables

* Fix team switch dependancies

* Fix lint

* Use events to signal channel switch

* Add check for hasMembership

* Address feedback

* add useTeamSwitch hook

* Fix team switch perceived performance on tablets

* align custom status in channel list

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2022-05-10 14:08:24 -04:00
Elias Nahum
591cfa1ae4
[Gekidou] Update DM and thread title/subtitle as well as navbar rounded corners (#6247)
* Update DM and thread title/subtitle as well as navbar rounded corners

* Fix rounded corners

* ux review
2022-05-09 12:45:44 -04:00
Elias Nahum
f54f549cbd
[Gekidou] bug fixes (#6249)
* 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
2022-05-09 12:39:35 -04:00
Elias Nahum
10f7f008e4
Remove react-native-youtube and allow the link to be handled natively (#6239) 2022-05-06 14:28:33 -04:00
Daniel Espino García
e6aaa586ad
Fix typing (#6243)
* Fix typing

* Do not consider if it is shown to avoid race conditions

Co-authored-by: Daniel Espino <danielespino@MacBook-Pro-de-Daniel.local>
2022-05-06 10:29:16 -04:00
Elias Nahum
414a8e91e0
Dismiss keyboard when a post is pressed (#6242) 2022-05-06 09:15:50 -04:00
Shaz MJ
40e3ae525d
[Gekidou] Updated styling opacities (#6240)
* Updated styling opacities

* Test fixes

* Observable pipe fix
2022-05-06 08:29:36 -04:00
Elias Nahum
c7c00b8316
Ensure posts are not covered by the post draft on channel switch 2022-05-05 18:25:46 -04:00
Joseph Baylon
9d3c7c9496
Detox/E2E: Messaging e2e tests in Gekidou (#6228) 2022-05-05 13:04:33 -04:00
Anurag Shivarathri
1760b75dbf
[Gekidou] [MM-43973] Thread footer for recent mentions (#6225)
* Displaying thread footer

* Participants can be empty

* Update thread.ts
2022-05-05 21:03:09 +05:30
Avinash Lingaloo
83c2cfff97
MM-41532 Gekidou Snack Bars (#6181)
* styling mobile

wip

* styling tablet

wip

tablet portrait

* removed offSetY

* Update en.json

* corrections from reviews

* removed space

* changed location to sourceScreen in post.tsx

* adjust width

* update message to text

* adding PanGesture

adding PanGesture- wip

PanGesture- wip

* able to touch through on iOS

* using EphemeralStore and listeners to discard overlays

* snack positioning and touches

* PanGesture- wip

* PanGesture- fine tuning the animation

PanGesture- wip

* removed toast keyword

* checks for ongoing animation

* dismiss overlay on navigating away

* dismiss overlay on navigating away

* dismiss overlay on tabPress

* dismiss overlay on tabPress

* cancelled timers on panning start

* add entering layoutAnimation

* add exitingg layoutAnimation

* fix  layoutAnimation

* fix styling

* eslint fix

* style fix

* fix timer not stopping

* revert changes made to the ephemeral store

* bumping the toast vertically by 4px

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2022-05-05 10:00:32 -04:00
Anurag Shivarathri
2deb2e01e0
[Gekidou][MM-43870, MM-43896, MM-43898, MM-43902, MM-43903] CRT related bug fixes (#6205)
* Fixes

* Updated snapshot

* Excluding current user from getting updated

* Doesn't handle users if it's empty

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2022-05-05 09:06:18 -04:00
Elias Nahum
251ef0992b
Fix create direct message styles (#6224) 2022-05-05 08:53:27 -04:00
Elias Nahum
5620a50975
Fix channel item with long name and badge (#6222) 2022-05-05 08:53:02 -04:00
Shaz MJ
362db9d98d
Moves collapse animation to FlatList, updates timings (#6220)
* Moves collapse animation to FlatList, updates timings

* dev review

* filters unreads from other categories & removes duplicate

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2022-05-04 21:17:33 -04:00
Elias Nahum
abc5dc4bc3
Fix GM display name (#6215) 2022-05-04 09:55:51 -04:00
Elias Nahum
ecfbb934a8
[Gekidou] Exclude muted channels from unread badges (#6208)
* Exclude muted channels from unread badges

* Gekidou unreads mention fix (#6221)

* Removes muted channels without mentions from grouped unreads

* show channel if unread and have no mentions when unread up top

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>

Co-authored-by: Shaz MJ <shaz.amjad@mattermost.com>
2022-05-04 09:51:14 -04:00
Elias Nahum
588491f582
Fix alignment of custom status (#6211) 2022-05-04 09:32:43 -04:00
Elias Nahum
4fc077caef
Fetch missing custom emojis (#6216) 2022-05-04 09:13:17 -04:00
Elias Nahum
bd50422167
Hide archive channels in channel list (#6214) 2022-05-03 17:26:35 -04:00
Elias Nahum
43c43e50d4
Do not set new line message indicator on own posts (#6206) 2022-05-03 14:43:55 -04:00
Elias Nahum
f973ac8016
[Gekidou] Find channels (remote) (#6203)
* Display local results

* Fix queryPreferencesByCategoryAndName to observeWithColumns value

* Find channels (remote)

* ux feedback review

* dev review

* dev review 2

* Fetch deleted channels from other teams
2022-05-03 14:29:37 -04:00
Daniel Espino García
02b4295464
[Gekidou] [MM-39936] Add Select Team Screen (#6180)
* Add Select Team Screen

* Fixes for iPhone and iPad

* Fix tests

* Address feedback

* Fix tests

* Theme illustration

* Address feedback and fixes

* Remove database warnings by avoiding recalculations on repeated events.

* Address feedback

* Remove unneeded catch

Co-authored-by: Daniel Espino <danielespino@MacBook-Pro-de-Daniel.local>
2022-05-03 17:22:21 +02:00
Elias Nahum
2376dc934c
Fix Back button position in Navigation Header (#6204) 2022-05-03 08:54:13 -04:00
Elias Nahum
22a173ec97
[Gekidou] Add Latex support (#6195)
* Add Latex support

* Markdown memoization

* feedback review

* feedback review 2
2022-04-28 12:27:10 -04:00
Daniel Espino García
e047106bac
Add AppsForm and Interactive Dialogs (#6142)
* 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
2022-04-28 18:26:21 +02:00
Anurag Shivarathri
dad63b87bb
Gekidou CRT - Global threads screen (#6140)
* 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>
2022-04-28 09:01:36 -04:00
Joseph Baylon
776f56efb1
Detox/E2E: Team Sidebar e2e tests in Gekidou (#6188)
* Detox/E2E: Team Sidebar e2e tests in Gekidou

* Fixed spacing for component

* Fixed spacing for component
2022-04-26 08:22:33 -07:00
Elias Nahum
1132bd0e51
[Gekidou] find channels (default state) (#6191)
* Find channels unfiltered state

* ux feedback review

* Update snapshots after ux review

* Fix channel item textStyles

* Center Channel item content

* feedback review
2022-04-25 13:27:20 -04:00
Elias Nahum
e94e419ea8
[Gekidou] bugs squash (#6184)
* MM-43605 Fix JumboEmoji cutoff on Android

* MM-43604 Fix More messages bar position

* MM-43532 Fix tap next to a single image to open trigger onPress

* MM-43606 Show backdrop when canceling the bottom sheet close
2022-04-21 09:49:56 -04:00
Anurag Shivarathri
313fe9c469
In-Channel experience (#6141)
* User avatar stack

* In-Channel experience

* Misc Fixes

* Fixed fetchPostThread & added observer

* Reusing the user component

* Refactor fix

* Moved some post options to common post options

* Combined follow/unfollow functions

* Feedback fixes

* Feedback fixes

* teamId fix

* Fixed teamId again

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2022-04-19 11:42:20 -04:00
Malik
1996224a4c
Merge pull request #6173 from mattermost/detox-channel-create-post-list 2022-04-19 08:47:51 +05:00
Elias Nahum
d547bddc2b
[Gekidou] optimizations, fix & moved files (#6177)
* Freeze unfocused tabs

* Fix syntax_highlight when multiple code blocks present in the same post

* Move @components/channel_list to @screens/home/channels_list/categories_list

* Update app/screens/channel/channel.tsx

Co-authored-by: Avinash Lingaloo <avinashlng1080@gmail.com>

* Add support for Freeze on Android

* Fix render on tablets

Co-authored-by: Avinash Lingaloo <avinashlng1080@gmail.com>
2022-04-18 08:49:17 -04:00
Daniel Espino García
14d6d53cc9
[Gekidou] Move managers (#6171)
* Move managers to their own folder

* Fix lint

* Fix unit tests

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2022-04-16 09:44:11 -04:00
Daniel Espino García
7a90f2d4a8
Performance improvements in the area of home and channel switch. (#6174)
* Performance improvements

* Revert hidden DM/GMs changes

* Minor fixes related to the revert

* Add observeWithColumns missed in merge
2022-04-14 18:56:48 -04:00
Elias Nahum
94b2a14313
bottomSheet snapPoint helper (#6169) 2022-04-13 10:11:31 -04:00
Elias Nahum
1ef9762565
[Gekidou] Custom Navigation header alignment (#6172)
* Custom Navigation bar alignment

* Center title & subtitle on iOS
2022-04-13 10:03:34 -04:00
Shaz MJ
10ea42c812
Active State for selected Channel (#6163)
* Unreads on top

* Feedback addressed

* WIP: Using a lastUnreadChannelId to maintain an Active State on selected channel

* Pair programming session

* Pair programming #2

* Pair programming #3

* Test fix
2022-04-13 09:36:47 -04:00
Elias Nahum
f09ab7c90a
[Gekidou] unreads category section (#6170)
* exclude archived channels from unreads section

* Fix Observer for unreads on top

* Include Unreads section in the same Categories FlatList to fix scrolling
2022-04-13 08:33:55 +10:00
Joseph Baylon
2e2f49f8c3 Detox/E2E: Create Channel and Channel Post List e2e in Gekidou 2022-04-12 11:50:05 -07:00
Shaz MJ
9feb3446a8
Unreads On Top (#6098)
* Unreads on top

* Feedback addressed

* update sorted channels if locale changes

* Extract localized strings

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2022-04-12 12:00:43 -04:00
Elias Nahum
a0ff404d39
[Gekidou] Update bottom sheet style for title and button (#6166)
* Update bottom sheet style for title and button

* title margin bottom

* Fix more teams list
2022-04-12 09:42:24 -04:00
Anurag Shivarathri
deb222a01d
Gekidou CRT - User avatar stack (#6139)
* User avatar stack

* Fixed fetchPostThread & added observer

* Reusing the user component

* Refactor fix

* fix lint

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2022-04-12 09:36:13 -04:00
Elias Nahum
9d88099ac5
[Gekidou] new UI for no results found (#6165)
* new UI for no results found

* feedback review
2022-04-12 09:24:46 -04:00
Elias Nahum
57e3334507
[Gekidou] Fix initial Channel list width on iPad (#6164)
* Fix initial Channel list width on iPad

* feedback review
2022-04-12 09:07:55 -04:00
Elias Nahum
11d81d0b1d
[Gekidou] Fix bottom sheet initial animation (#6161)
* Fix bottom sheet initial animation

* include bottom sheet backdrop opacity animation
2022-04-12 09:00:14 -04:00
Elias Nahum
692795a9a1
[Gekidou] Code syntax highlight (#6156)
* Code syntax highlight

* fix code syntax imports for jest

* feedback review
2022-04-12 08:59:50 -04:00
Kyriakos Z
df3ef72a0a
[Gekidou CRT] thread mention counts (#6126)
* Sets values on my_channel according to CRT

* Team counts with regard to CRT

* Fixes myChannel.is_unread with regard to CRT

* Include DM/GMs for thread counts on demand

* Incorporate thread mention counts in server/channel

* Channel updates in regard to CRT
2022-04-12 13:27:40 +03:00
Elias Nahum
e741d47fc2
Fix float input label initial position (#6151)
* Fix float input label initial position

* fix focused label when field is empty
2022-04-11 12:15:44 -04:00
Elias Nahum
b530dbeb09
[Gekidou] upgrade to RN 68 (old arch) (#6138)
* 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
2022-04-08 12:40:44 -04:00
Avinash Lingaloo
9a72837f04
Gekidou - Updated Server Database Diagrams/Schema/Models (#6119)
* started with the diagrams

* removed redundant tables

next step:
1. reconstruct id ( local id vs server id )
2. annotate fields with examples
3. recreate relationship

* work in progress

* work in progress

* fix association

* update postsInChannel

* removed SlashCommands from the Server database schema

* added missing associations in the models and updated docs/database

* exported server database

* update test

* code corrections following review

* update relationship

* update docs

* removed cyclic relationship

* Revert "removed cyclic relationship"

This reverts commit 4d784efb815c0430aa3f7cc433ac4125898d2621.

* removed isOptional from Draft

* linked myChannelSettings to myChannel instead of Channel

* update diagrams

* store null instead of empty string

* update thread association

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2022-04-07 10:14:28 -04:00
Elias Nahum
ae3c9e2ef2
[Gekidou] bug fixes found with e2e tests (#6130)
* Fix Search users in Create Direct Message

* Fix UserListRow style for onPress

* Prevent create direct message & browse channels from being dismissed with a swipe

* Only display Edit header option when tapping in the channel intro

* Fix localization for ThreadFollowButton

* Prevent New channel screen from being dismiss with a swipe
2022-04-07 09:57:43 -04:00
Joseph Baylon
c85914f4ba
Detox/E2E: Channel List, Browse Channels, Create Direct Message e2e tests in Gekidou (#6114)
* Detox/E2E: Channel List, Browse Channels, Create Direct Message e2e tests in Gekidou

* Fix create_direct_message

* Fix channel_list snapshot test

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2022-04-05 13:12:57 -07:00
Elias Nahum
2621d921d6
[Gekidou] Performance & UI fixes (#6122)
* Fix search bar style

* MM-42983 Align mention badge on channel list item

* MM-42985 polish channel intro UI

* MM-42984 update fonts on 'Show' bottom sheet

* MM-42982 Increase tap area of back button on channel view

* Set StatusBar style based on theme sidebarBg

* Reconnect other WS after 20 seconds insted of 5

* Only fetch missing profiles for DM/GMs

* Database prepare records optimization

* Do not use fallbackUsername for storing GM/DM in the database

* fix filter for fetching missing dm/gm

* remove use of indexOf inside another loop

* remove use of includes inside another loop

* remove use of find inside another loop

* Add missing translations

* disable Flipper on iOS

* Remove Flipper code from AppDelegate

* feedback review

* trim DM display name to make sure is not empty

* fixing missing direct channels display name

* UI/UX feedback

* fix WS channel viewed and mark as unread

* Remove duplicate emojis from reaction bar
2022-04-04 17:09:26 -04:00
Jason Frerich
137ba9d191
[Gekidou MM-39728] - Websocket Events - Channels (#6038)
* wip checkin

* wip checkin because my system is messed up again

* correct the add user and remove user from channel functions. THe user and channel ids sometimes come from the broudcast field, not the data object

* remove old comments

* remove old comments

* remove old comments

* add back in unarchive handler. handleChannelUpdateEvent will also update the deleteAt value for a channel, but does not get called when unarchive from the channel view, only through the system console.

* nit remove empty line

* wip

* wip

* remove handleChannelConvertedEvent

* remove handleChannelDirectAddedEvent

* wip

* wip

* wip

* Fix websockets events

* Address feedback

* Ensure categories and some refactoring

* Self review fixes

* Fix category creation bug

* Address feedback and minor improvements

* Address feedback

* Fix lint

Co-authored-by: Daniel Espino García <larkox@gmail.com>
2022-04-04 14:25:42 -04:00
Daniel Espino García
d1322e84ce
[Gekidou] Add performance and code improvements around post_list (#6113)
* Add performance and code improvements around post_list

* Fix test

* Move observers from utils to queries

* remove Flipper on iOS to fix CI build

* Fix observePermissionForChannel for DM/GM

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2022-04-04 08:14:55 -04:00
Elias Nahum
7e09e5dc05
PostList do not scroll to bottom after the first onEndReached (#6109) 2022-03-31 19:23:57 +02:00
Daniel Espino García
e2e54b3bca
[Gekidou MM-39733] Port Create Channel from V1 (#6067)
* 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>
2022-03-31 10:06:02 +02:00
Daniel Espino García
328f029a93
Performance improvements on Home to Channel (#6106) 2022-03-31 10:01:22 +02:00
Daniel Espino García
9069048aa7
[Gekidou] Address performance improvements on team switch action (#6101) 2022-03-30 08:05:31 -03:00
Elias Nahum
3650cdfc6d
fix Require cycle 2022-03-26 20:40:17 -03:00
Elias Nahum
527bd04170
Update dependencies 2022-03-26 20:33:13 -03:00
Elias Nahum
86ae1fc9cc
Handle system ephemeral post 2022-03-24 19:24:54 -03:00
Elias Nahum
b6f373df5c
Merge branch 'gekidou' into gekidou-fixes 2022-03-24 16:36:09 -03:00
Daniel Espino García
cc1c112028 Nit 2022-03-24 18:47:16 +01:00
Daniel Espino García
c1b8b0ee38 Merge branch 'gekidou' into CommandAutocomplete 2022-03-24 18:45:42 +01:00
Daniel Espino García
2393151ff0 Add integrations manager, use base-64 to handle svgs and minor improvement and fixes in the components 2022-03-24 18:40:38 +01:00
Elias Nahum
eb9e261ad4
Merge pull request #6083 from mattermost/gekidou-reactions
[Gekidou] reactions
2022-03-24 13:59:28 -03:00
Elias Nahum
ee2ef00a10
Merge pull request #6084 from mattermost/MM-42160-Mention-badge
Adds mention badges to channel list items
2022-03-24 13:49:58 -03:00
Elias Nahum
ce3ea47826
CategoryModel typing 2022-03-24 12:42:17 -03:00
Daniel Espino García
59959d041a Merge branch 'gekidou' into CommandAutocomplete 2022-03-24 16:39:25 +01:00
Anurag Shivarathri
aa4776a260
Replies count query (#6088) 2022-03-24 18:29:10 +05:30
Shaz MJ
eea5e87940 Merge branch 'gekidou' into MM-42160-Mention-badge 2022-03-24 08:24:38 +11:00
Shaz MJ
ab45851e19 Uses existing badge 2022-03-24 08:19:43 +11:00
Elias Nahum
ccb29bbce6
Merge branch 'gekidou' into gekidou-fixes 2022-03-23 17:06:10 -03:00
Elias Nahum
f08ccb2d0c
feedback review 2022-03-23 15:16:14 -03:00
Daniel Espino García
7fecf7e474 Merge branch 'gekidou' into CommandAutocomplete 2022-03-23 17:53:43 +01:00
Daniel Espino García
649681ef94 Remove bang image and use compass icon 2022-03-23 17:37:20 +01:00
Elias Nahum
ffc06bbaa3
Prevent more_messages to autoscroll more than once 2022-03-23 12:56:50 -03:00
Daniel Espino García
7382c1f4fc Address feedback 2022-03-23 16:11:58 +01:00
Elias Nahum
c9ca6cb90c
channel can be null or undefined 2022-03-23 12:03:41 -03:00
Elias Nahum
296d088ca2
channel settings can be null or undefined 2022-03-23 12:00:34 -03:00