* Fix several issues around team join
* Open in modal and fix channel list
* Add joining states and fix issues
* i18n-extract
* add specific message for group related failures on joining teams
* Address feedback
* Address feedback
* Use error from server response
* updated styles for reaction bar and made pick reaction pressable
* removed unused style import
* removed unused style import
* updated user avatars, user presence, thread options bottom sheets to new style also
* updated status bottom sheet, thread options, and some tweaks to the bottom sheet main file
* fixed a few minor styling issues
* used proper bottom inset in user presence bottom sheet
* various updates to bottom sheets
* used negative top position instead of negative margin
* updated camera type bottom sheet
* further refinements to bottom sheets
* updates to emoji bar and profile image picker
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
We have changed how priority gets saved in the server, so now instead of
post.props we are using post.metadata.priority.
This commit adds the relevant changes for posts' priority to work in the
mobile app.
* Restyle video playback error
* video not shown when attached with multiple files and thumb fails
* update local path when saving and sharing a file
* feedback review
* Add connection banner
* Switch icon depending on whether it is connected or not
* Clean timeout and change text
* Handle optimistic approach
* Piggyback server item fix
* Use toMilliseconds util function
* Set the websocket as disconnected when we are manually closing it
* Do not hide banner when app state changes
Co-authored-by: Daniel Espino <danielespino@MacBook-Pro-de-Daniel.local>
* WIP New User List for int selector
* user selection
* searchusers by term
* Remove old user list related code on selector
* Fix linting issues
* Submitting user list selection
* currentUserId
* multiselect showing after the bar
* useState instead of reducer
* Remoce empty line
* add callbacks
* Fix lint
* Threads item in channel switcher
* Misc
* Updated test & renamed type
* Reverted unwanted changes
* Changed thread text to i18n
* feedback fix
* Merge conflict steps
* Merge fix
* test fix
* Added onPress to the dependencies
* Moved the term matching logic to the useMemo block
* Misc
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
* 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>
* Add announcement banner
* Move config to its own table
* Add new config behaviour to iOS share extensions
* Fix test
* Add style changes
* Minor style fixes
* Address design feedback
* Address feedback
* Only render the announcement banner if container if licensed
Co-authored-by: Daniel Espino <danielespino@MacBook-Pro-de-Daniel.local>
* Use always first the local channels
* Fix several race condition related issues
* Remove clean after cursor change
* Address feedback
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Co-authored-by: Daniel Espino <danielespino@MacBook-Pro-de-Daniel.local>
* 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"
* 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
* 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
* 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
* 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>
* 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>
* 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>
* 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>
* 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>
* - 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>
* 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>
* 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
* 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>
* 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
* 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
* 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
* Channel Info screen
* Delete the channel & related data when archiving while viewing archived channels is off
* feedback review
* UX feedback
* Add missing isOptionItem prop
* 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
* 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>
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>
* 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
* 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
* 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
* 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
* 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>
* 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
* 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
* 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>
* 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
* 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>
* 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>
* 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
* 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>
* 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
* 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>
* 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
* exclude archived channels from unreads section
* Fix Observer for unreads on top
* Include Unreads section in the same Categories FlatList to fix scrolling
* 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
* 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
* 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>
* 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
* 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
* 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>
* 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>
* 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>
* Extract common observers to queries
* Separate also queries and more agressive refactoring
* Use query to avoid throws from findAndObserve
* Fix minor error
* Address feedback
* Address feedback
* Address feedback
* Fix model types
* Address feedback
* Detox/E2E: Migrate to typescript
* Add jest.config.js
* Add moduleMapper to config.json
* Add cookie jar to axios client, fix tsconfig.json and default_config.json
* Take keyboard into consideration; clean test for now for this migration PR
* Revert changes on path_builder
* Attempt to fix dep issues
* Update detox dep
* Added missing @type dev dependencies
* Fix dep order
* Fix unit tests
* Added dynamic year to email.ts
* Use localPath when available
* Revert changes to replace space for dash in the filename
* Rename other action to external and always call onDownloadSuccess if defined
* add missing localization strings
* Add User Mention to autocomplete
* Minor fixes
* Fix at_mention (you) alignment
* Add missing translation strings
* Make it more parallel to channel mentions
* Fix bot tag
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Permalink initial commit
* Fixes: 10 items per page
* MM-40203: permalink modal viewer for mentions
Is triggered by pressing on an item in mentions,
and shows posts around that item, including the item in a modal.
* Adds previously deleted file
* address feedback
* Move showPermalink as a remote action
* address more feedback
* fetchPostsAround to only return PostModel
* Attempt to autoscroll to highlighted item
* Permalink to not highlight saved and pinned posts
* Add bottom margin using insets to permalink screen
* Use lottie loading indicator
* Switch to channel
* Missing translation string
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Fix markdown formatting and touchable interaction
* open gallery as overlay instead of modal
* update snapshots
* Add missing dependencies to useMemo
* 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>
* Detox/E2E: Initial e2e tests in Gekidou
* Change Local Server to Server 1
* Renamed variables for consistency
* Added team display name verification on channel list screen
* Simplified login by email setup
* Simplified smoke test server login steps
* 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>
* Sorting categories body in the observable
* Adds muted state to channel list in sidebar
* update snapshots
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
Co-authored-by: Shaz Amjad <shaz.amjad@me.com>
* Sorting categories body in the observable
* feedback review
* Fix category queries to return only channels that have been loaded
* Do not display archived channels unless is the active one
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Thread screen
* misc
* Added snapshot for ThreadOverview
* Updated snapshot
* Misc
* Updated snapshot and ts fixes
* Made thread as a modal, fixes post list not closing on tablet
* Removed unsued variables
* Putting back the empty space before the root post (inverse list footer)
* Changed input text
* Removed empty footer space
* Misc fixes
* Disables new messages line for thread
* Loading threads before opening modal & BottomSheet componentId fix
* Moved merge navigation options to switchToThread
* Moved LeftButton to switch to thread
* Removed Q.and
* Misc fixes
* Added task id for pagination
* Removed useMemo, Q.and
* move thread close button as a prop
* Remove title font styles to use default
* Misc changes
* Misc fix
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Support Markdown svg and custom size inline images
* remove commonmark patches
* move getMarkdownImageSize to @utils/markdown
* Fix worklet not present while running unit tests that use calculateDimensions
* Set max size for SVG
* Set svg dimensions based on calculated size
* feedback review
* fix system message last users alignment
* Align based on platform
* alignment android attempt 3
* alignment android attempt 4
* alignment android attempt 5
* Fix post options for combined system messages and properly execute delete
* Fix not-observable prop
* Properly delete combined system messages post
* Prepare and batch remove post for combined system messages
* batch delete post
* Add channel autocomplete
* Fix autocomplete position and shadow effect
* Fix feedback issues
* Fix autocomplete on iOS and piggyback removal of section borders
* Fixes the channel autocomplete showing up after completion
* Address feedback
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Gallery screen (ground work)
* Open the gallery from posts
* Open the gallery from post draft
* feedback review
* Feedback review 2
* do not remove dm channel names and localization fix
* update to the latest network-client
* do not override file width, height and imageThumbail if received file does not have it set
* bring back ScrollView wrapper for message component
* Remove Text wrapper for markdown paragraph
* Fix YouTube play icon placeholder
* Make video file play button container round
* Add gif image placeholder
* Save images & videos to camera roll
* Feedback review 3
* load video thumbnail when post is in viewport
* simplify prefix
* Squash, rebase, test fixes
* PR Feedback addressed
* fix snapshot tests with SafeAreaProvider
* Addresses feedback
* Adds Category & Channel error
* Tests fixed
* MyChannel count
* finalize DM and GM avatars and icon as well as other small fixes
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Add autocomplete and emoji suggestion
* Address feedback and minor fixes
* Remove unneeded constants and fix max height to be aware of the header.
* Address feedback
* Refactor PostDraft and correctly position Autocomplete
* Set min char for emoji search at 2
* Replace searchCustomEmojis from setTimeout to debounce
* Remove comments
* simplify prop
* Change naming of certain variables
* remove unnecesary fragment
* Improve Autocomplete height calculation
* Address feedback
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Fix post onPress handler to remove a deleted post
* Fix operator handlePost to remove fetched existing deleted posts and filter the ones that do not exist
* 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