* Handle FileWillBeDownloaded plugin hook rejections
- Add WebSocket handler for file_download_rejected events
- Show rejected files as file cards instead of broken thumbnails
- Display plugin rejection message in snackbar
- Store rejection reason in EphemeralStore for later retrieval
- Re-render file components when rejection events arrive
- Remove blurred preview to prevent visual blink on rejection
* chore: lint
* chore: lint and test
* fix: removed event from useEffect
* captions on videos from posts and searches
* add the patch for react-native-video which fixes subtitle downloading
* improve spacing
* fix patch file
* upgrade compass-icons; use cc icon
* revert patch overwrite
* fix patch
* use useMemo
* fix hitslops on pressables
* use new Caption format; refactor for clarity
* simplify tracks creation and use
* 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>
* 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
* Initial commit post input
* Fix message posting, add create direct channel and minor fixes
* Fix "is typing" and "react to last post" behaviour
* Some reordering, better handling of upload error, properly clear draft on send message, and fix minor progress bar misbehavior
* Add keyboard listener for shift-enter, add selection between video or photo while attaching, add alert when trying to attach more than you are allowed, add paste functionality, minor fixes and reordering
* Add library patch
* Fix lint
* Address feedback
* Address feedback
* Add missing negation
* Check for group name and fix typo on draft comparisons
* Address feedback
* Address feedback
* Address feedback
* Address feedback
* Fix several bugs
* Remove @app imports
* Address feedback
* fix post list & post draft layout on iOS
* Fix post draft cursor position
* Fix file upload route
* Allow to pick multiple images using the image picker
* accurately get the channel member count
* remove android cursor workaround
* Remove local const INPUT_LINE_HEIGHT
* move getPlaceHolder out of the component
* use substring instead of legacy substr for hardward keyboard
* Move onAppStateChange above the effects
* Fix camera action bottom sheet
* no need to memo SendButton
* properly use memberCount in sender handler
* Refactor how to get memberCount
* Fix queryRecentPostsInThread
* Remove unused isDirectChannelVisible && isGroupChannelVisible util functions
* rename errorBadUser to errorUnkownUser
* extract localized strings
* use ClientErrorProps instead of ClientError
* Minor improvements
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* feature edit profile screen
* minor refactoring
* Apply suggestions from code review
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* ts fixes
* revert floatingTextInput label
This reverts commit a778e1f76191aea7c1a18d60a23ffbd6d3dec0eb.
* code clean up
* Apply suggestions from code review
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* code fix
* code fix
* Adding preventDoubleTap
* rename id to fieldKey
* Update edit_profile.tsx
* wip
* navigating through fields; partly done
* navigating through fields - partly done
* navigating through fields; partly done
* completed field navigation
* added theme into dependency array
* code clean up
* revert conditions for disabling fields
* Added colorFilters prop to Loading component
* Completed loading feature on Edit Profile screen
* code clean up
* Add profile_error
* renamed valid_mime_types to valid_image_mime_types
* added props isDisabled to email field
* refactored next field logic
* fix
* fix
* code clean up
* code clean up
* Updated ESLINT hook rules to warning instead of disabled
* code fix
* code fix
* new line within your_profile component
* added memo for Field component
* added canSave to dependency array
* update loading component - color filter
* Update app/screens/edit_profile/edit_profile.tsx
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* dependency fix
* fix to fetch my latest status
* fix to remove unnecessary user id for local action updateLocalUser
* prevents bouncing for iOS
* code revert
* Adding textInputStyle and animatedTextStyle to FloatingTextInput component
* correction after dev session
* adding changes as per new ux
* Update edit_profile.tsx
* corrections after ux review
* ux review
* ux review
* code clean up
* Adding userProfileFields into useMemo
* Add enableSaveButton to dependency of submitUser
* Added react-native-image-picker
* fix picker util
* Added action for setDefaultProfileImage
* account outline on remove picture
* Update edit_profile.tsx
* fix image picker
* style fix
* fix image picker
* removed unused types
* mmjstool issue with integrity checksum
* perform camera permission check for Android
* fix to pull latest status
* updated ChangeProfilePicture to EditProfilePciture
* removed integrity key for mmjstool in package-lock.json
* corrections from pr review
* bumping react-native-image-picker to v4.7.1
* pod install
* update to hooks dependency
* fix profile picture component
* added event emitter from edit_profile_picture
* made hitslop a constant
* code clean up
* uploadProfilePicture as a remote action
* else if profileImage removed
* removed check on isBot
* update renderProfilePicture dependencies
* extractFileInfo with try catch
* updated snappoints
* Revert "updated snappoints"
This reverts commit 6d16d480a168755fc80e5bc80569ad3ba561f73b.
* profile picture size
* refactored renderProfilePicture into its own component
* change to if else
* platform select for hasPermissions
* unneeded comment removed
* else if on prefix in edit profile picture
* track has update user info now
* moved image_picker under edit_screen and increased actionSheets item height
* added preventDoubleTap for imagePicker
* multiple uploads
* switch the conditions
* added alert box as requested by Marina
* Revert "added alert box as requested by Marina"
This reverts commit 20735c17a87b40995e05eb4318c138c1adcc6c8c.
* Apply suggestions from code review
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* removed userInfos constant
* added useMemo for certain components on profile_picture
* converting account-outline into a constant
* added panelItem component
* adding return instead of making the function return
* eslint fix
* update i18n desc
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* hasPictureUrl transferred to file utils
* removing excess mediaType prop
* add USER_PROFILE_PICTURE_SIZE into constant/profile
* relocate hasPictureUrl method
* relocate hasPictureUrl
* rename ImagePicker to ProfileImagePicker
* removing isDestructive property from panelTypes.
* update sectionLimit for attachFileFromPhotoGallery
* Change animation for showModalOverCurrentContext to a quick alpha on iOS
* re-create PickerUtil if intl changes
* Combine styles in edit_profile_picture component
* Split profile image component into smaller components
* useCallback for showFileAttachmentOptions
* split comment into multiple lines
* edit_profile group refs
* remove unnecessary casting
* add new line to file.d.ts
* remove extra space for utils/index.d.ts
* allowMultiSelection for attachFilesFromFiles, default is false
* Split edit profile screen into smaller components
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>